ASP.NET成员资格 - 我可以允许匿名访问并仍使用Active Directory自动登录吗?

时间:2009-05-14 11:56:50

标签: asp.net iis asp.net-membership impersonation windows-authentication

我希望这不是悖论,但我不知道应该怎么做......

我有一个带有以下Web.Config条目的VS2008 ASP.NET MVC项目:

  <authentication mode="Windows">
      <forms name=".ADAuthCookie" timeout="10" />
  </authentication>

这使访问者自动使用他们用于登录Windows的DOMAIN \ username登录进行登录。 (右?)

这适用于我的开发服务器(http://localhost:xxxx),但不适用于我的IIS服务器(http://localhost)。可能是因为开发服务器由我的本地用户(在域上具有ActiveDirectory读取权限)“启动”,并且因为IUSR_WORKSTATION用户“启动”了IIS而没有启动。 (右?)

如果以上所有情况都属实,我如何模拟IIS用户(例如我自己的用户名)以仅使用Windows登录名对当前用户进行身份验证?(如下例所示) )?

或者IUSR_WORKSTATION用户是否应该被授予ActiveDirectory?读取权限(不是首选,因为我将大量切换服务器/ IUSR_用户)

<identity impersonate="true" userName="DOMAIN\myuser" password="mypass"/>
<authentication mode="Windows">
    <forms name=".ADAuthCookie" timeout="10" />
</authentication>
<identity impersonate="false"/>

1 个答案:

答案 0 :(得分:2)

Windows身份验证命名不佳(IMO)。它不是使用Windows作为身份验证,而是将身份验证过程委托给IIS。因此,您需要配置IIS的身份验证,然后向下流向ASP.NET

如何执行此操作取决于您的IIS版本,在IIS7中展开树并单击您的网站,然后单击身份验证并启用Windows身份验证

相关问题