自动提取Active Directory登录详细信息

时间:2014-05-12 09:28:05

标签: asp.net vb.net iis login active-directory

我的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

1 个答案:

答案 0 :(得分:0)

您需要确保在IIS上启用Windows身份验证并启用匿名身份验证

enter image description here

如果您的Windows Server不包含Windows身份验证方案:

打开服务器管理器(一种方法是通过在开始菜单中右键单击计算机节点并选择“管理”)。扩展角色节点。右键单击Web服务器(IIS),然后选择“添加角色服务”。您将获得以下向导,只需向下滚动一下并检查安全节点下的Windows身份验证。

http://weblogs.asp.net/zroiy/archive/2008/08/17/missing-windows-authentication-provider-for-iis-7-on-windows-server-2008.aspx