1

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

我有一个带有以下 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 读取权限)“启动”的,并且因为 IIS 是由没有的 IUSR_WORKSTATION 用户“启动”的。(对?)

如果以上所有情况都成立,我如何模拟 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"/>
4

1 回答 1

2

Windows 身份验证名称不正确(IMO)。它不使用 Windows 作为身份验证,而是将身份验证过程委托给 IIS。所以你需要配置 IIS 的身份验证,然后向下流向 ASP.NET

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

于 2009-05-14T12:00:37.873 回答