【发布时间】:2018-02-12 15:58:57
【问题描述】:
Windows 身份验证似乎超级简单,但我仍然遇到问题。因此,我决定使用 Windows 身份验证模板创建一个全新的 Asp Web 应用程序项目。当然,这行得通。在设计器中,<asp:LoginName runat="server" /> 有效,而在代码隐藏中 User.Identity.Name 有效。
我能找到的唯一设置是在 web.config 中:<authentication mode="Windows"/>。
回到我自己的 Web 应用项目,我确认我有相同的 web.config 设置。但是,asp.LoginName 标记和User.Identity 属性有一个空白字符串,即没有用户名。另外,当使用<deny users="?"/>
该页面返回 401.2 Access Denied 响应。
当我在同一台开发机器上测试两个项目时,都在 VS2015 中,问题不能出在 IIS Express 或 VS2015 的设置中。也使用相同的 Firefox 浏览器,虽然我也尝试过 IE。
VS2015中是否有我忽略的项目设置?
更新:
我通过将所有项目源文件复制到全新的 Asp Web 应用程序项目中解决了这个问题。事实上,我正在将网站项目转换为 Web 应用程序项目。我仍然不知道为什么我无法通过配置使 Windows 身份验证工作,但至少我可以进行进一步的开发。
但是,我仍然希望得到答案。 . . :-)
【问题讨论】:
标签: asp.net visual-studio authentication web-applications