我已经在Cassini(Visual Studio)Web服务器中使用了Windows身份验证一段时间了但是当我更改为在IIS 7中运行我的站点时,该站点不再正常工作。
我禁用了匿名身份验证,启用了Windows身份验证,并启用了ASP.NET模拟。我的web.config文件包括:
<authentication mode="Windows" />
<identity impersonate="true" />
问题是每当我尝试访问该网站时,系统都会提示您提供用户名和密码。
我的期望是我的浏览器会将我的凭据发送到IIS(通过某种身份验证令牌),IIS会在所有页面请求中冒充我的用户。
为什么我被提示登录?我该怎么做才能避免此提示并让ASP.NET使用我的模拟用户名?
更新 我将我的网站添加到IE中的“Intranet区域”并使用IE我不再收到提示输入用户名和密码。在IE中为Intranet站点设置了自动登录。
但是,我不明白为什么在VS中使用Cassini Web服务器这不是问题?有什么想法吗?
答案 0 :(得分:0)
您是否针对IIS Express尝试过此操作?
这只是一个尝试,但Visual Studio从同一个用户帐户运行Cassini和IE,因此您的身份模拟可能是从Visual Studio传递的。 IIS 7用户帐户由应用程序池建立,可以是与运行VS / Cassini不同的用户。我相信IIS Express作为您的用户帐户运行,因此身份模拟可能会在不提示或更改Intranet区域设置的情况下对其进行操作。
如果可行,您可以将IIS 7应用程序池配置为以用户帐户身份运行,并且提示可能会消失。
同样,这只是一个刺。