我使用以下代码对AD服务器执行身份验证
using (var context = new PrincipalContext(ContextType.Domain))
{
return context.ValidateCredentials(samAccountName, password.RetrieveString()
, ContextOptions.Negotiate);
}
问题是,它只有在我使用"user@domain.com"
时才有效,如果我使用"domain\user"
则无效。
知道为什么吗?
答案 0 :(得分:1)
要使Kerberos正常工作,如果用户当前未登录该域,则需要执行'user @ domain'。如果登录到域,“域\用户”应该可以工作。
这是我在Kerberos网络上的体验。