我开发了一个允许Windows身份验证并将其托管到实时服务器的应用程序。在我的本地电脑我能够获得用户名密码。但是当我从网上访问时(例如websso.mydomain.com),即使我输入了正确的凭据,它仍然会询问凭据。
<authentication mode="Windows">
</authentication>
<authorization>
<deny users="?" />
</authorization>
<identity impersonate="true"/>
我在web.config中添加了以上标签,托管服务器是windows server 2008 R2。我试图从
获取用户名WindowsIdentity.GetCurrent().Name
Environment.Username
Request.ServerVariables["LOGON_USER"]
Request.ServerVariables["AUTH_USER"]
HttpContext.Current.Request.LogonUserIdentity.Name
是否需要在IIS中执行任何更改或配置Windows身份验证时要遵循的任何步骤。
已安装的IIS版本为7.5
答案 0 :(得分:2)
在IIS中检查应用程序池所有者
应该是网络服务
答案 1 :(得分:1)
我最近遇到过类似的问题,请尝试确保Windows用户对服务器上的目录具有读取权限。
答案 2 :(得分:0)
尝试更新<authorization>
以包含<allow>
元素,因为我已完成here。
E.g。
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="yourdomain\someotheruser" />
<deny users="?" />
</authorization>
答案 3 :(得分:0)
websso.mydomain.com看起来像互联网域名,而不是内联网域名,因为它有部分。根据{{3}},您应该使用不带章节的域名(例如https://support.microsoft.com/en-us/help/258063/internet-explorer-may-prompt-you-for-a-password)或将您的域名添加到客户端浏览器的安全设置