用户名或密码不正确。在System.Security.Principal.WindowsIdentity.KerbS4ULogon

时间:2018-03-19 08:05:39

标签: c# asp.net-mvc iis asp.net-mvc-5 .net-4.5

在我们的ASP.NET MVC5 Web应用程序中,我们希望从登录用户的Active Directory中获取安全组。我们使用自定义登录屏幕。在之前的代码中(此处未列出),用户将通过samaccountname和密码进行身份验证。用户成功通过身份验证后,将通过以下代码从Active Directory查询其安全组:

internal static IdentityReferenceCollection GetGroupsOfAdUser(string pSamAccountName, string pDomainName)
{
    // create an UPN (e.g. samaccountname@domain)
    var lUpn = string.Concat(pSamAccountName, "@", pDomainName);
    IdentityReferenceCollection lResult = null;

    using (WindowsIdentity lWindowsIdentity = new WindowsIdentity(lUpn))
    {               
        lResult = lWindowsIdentity.Groups;
    }

    return lResult;
}

我们在此代码中遇到异常。这是callstack的摘录:

The user name or password is incorrect. 
At System.Security.Principal.WindowsIdentity.KerbS4ULogon [...] 
at System.Security.Principal.WindowsIdentity..ctor(String sUserPrincipalName) […]

我们无法重现该问题,因为用户之前已成功验证了一段时间。

IIS中网站的身份验证设置:

  • 匿名身份验证:已激活
  • ASP.NET模拟:已停用
  • 表单身份验证:已激活

注1:代码在我们公司的位置成功运行。异常发生在具有不同域,活动目录等的不同位置。

注2:登录代码与域管理员一起使用。

谁知道问题出在哪里以及我们如何解决这个问题?

0 个答案:

没有答案