我希望这不是悖论,但我不知道应该怎么做......
我有一个带有以下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"/>
答案 0 :(得分:2)
Windows身份验证命名不佳(IMO)。它不是使用Windows作为身份验证,而是将身份验证过程委托给IIS。因此,您需要配置IIS的身份验证,然后向下流向ASP.NET
如何执行此操作取决于您的IIS版本,在IIS7中展开树并单击您的网站,然后单击身份验证并启用Windows身份验证