我的web.config文件中有以下内容。
<location path="login.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
这意味着在进入登录页面时,系统会提示用户输入Active Directory登录以访问该页面。反正有没有让IIS / ASP.net自动获取这些信息,所以我可以使用以下
HttpContext.Current.User.Identity.Name
在登录页面上建立自动登录。
如果此字符串不为空,我将根据数据库表进行检查,该表包含由外部应用程序管理的允许用户列表(还管理网站内的权限)
我希望自动执行此过程的原因是,如果用户没有在此数据库中输入名称,则应该向他们显示正常的登录屏幕,该屏幕具有各种覆盖登录(表单身份验证),而这不是自动化最终用户必须输入登录(可能在活动目录的上下文中有效),但就Web应用程序而言无效。
我发现删除了
部分<deny users="?"/>
不提示登录活动目录,也不提示
HttpContext.Current.User.Identity.Name = String.Empty
答案 0 :(得分:0)
您需要确保在IIS上启用Windows身份验证并启用匿名身份验证
如果您的Windows Server不包含Windows身份验证方案:
打开服务器管理器(一种方法是通过在开始菜单中右键单击计算机节点并选择“管理”)。扩展角色节点。右键单击Web服务器(IIS),然后选择“添加角色服务”。您将获得以下向导,只需向下滚动一下并检查安全节点下的Windows身份验证。