2011-11-16 194 views
1

我用下面的代码进行验证,AD服务器“域\用户”域验证失败

using (var context = new PrincipalContext(ContextType.Domain)) 
{ 
    return context.ValidateCredentials(samAccountName, password.RetrieveString() 
               , ContextOptions.Negotiate); 
} 

的事情是,如果我用"[email protected]"它只会工作,如果我使用它不会工作"domain\user"

任何想法为什么?

+1

您是否尝试传递字符串作为'“domain \\ user”'?必须正确地转义字符串... –

+0

嗨Merlyn,我使用@“domain \ user”,它是一样的,对吗? –

+0

是的,这是妥善逃脱。 –

回答

1

要使Kerberos正常工作,如果用户当前未登录到该域,则需要执行'user @ domain'。如果登录到域,“域\用户”应该工作。

这是我在我们的Kerberos网络上的体验。