无法获取用户凭据(Windows身份验证)

时间:2014-06-26 12:18:39

标签: c# .net windows authentication iis

这是网络配置:

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Windows" />

    <authorization>

    </authorization>
    <identity impersonate="true" />



  </system.web>

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true" />
        <security>
            <authentication>
                <windowsAuthentication enabled="true" >
                    <providers>
                        <clear />
                        <add value="NTLM" />
                    </providers>
                </windowsAuthentication>
                <anonymousAuthentication enabled="false" />
            </authentication>
        </security>
  </system.webServer>

在页面代码中(试图查看其中任何一个是否有效):

WindowsIdentity identity = HttpContext.Current.Request.LogonUserIdentity;

            string sLoginID = identity.Name.ToString();
            sLoginID = sLoginID.Remove(0, sLoginID.IndexOf('\\') + 1);
            alert.InnerText = User.Identity.Name + "////// " + sLoginID ; 

结果(所需的是DOMAIN \ USERNAME):

Anonymous////// NETWORK SERVICE

网站位于iis Server 6.0上,除身份模拟和Windows身份验证外,其他所有内容都被禁用。

2 个答案:

答案 0 :(得分:0)

我认为由于identity impersonate参数而获得此用户。 将参数更改为

identity impersonate=false

并检查您是否拥有该帐户

答案 1 :(得分:0)

这对我有用: 的web.config

<?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Windows" />
    <identity impersonate="false" />
  </system.web>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>
</configuration>

的Page_Load

protected void Page_Load(object sender, EventArgs e)
{
    WindowsIdentity identity = HttpContext.Current.Request.LogonUserIdentity;

    string sLoginID = identity.Name.ToString();
    TextBox1.Text = sLoginID;
}

IIS设置:

  • 匿名身份验证 - 已禁用
  • ASP.NET Imprsonation - 已禁用
  • 表单身份验证 - 已禁用
  • Windows身份验证 - 已禁用

当然我正在运行7.5。

屏幕截图(在IIS上运行,而不是通过VS运行):

enter image description here