Windows身份验证不断询问用户名密码,即使凭据正确

时间:2014-04-08 17:46:09

标签: c# asp.net windows-authentication

我开发了一个允许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

4 个答案:

答案 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)或将您的域名添加到客户端浏览器的安全设置