必须指定Negotiate或SimpleBind,并且它们不能组合

时间:2014-07-11 13:56:26

标签: validation active-directory principalcontext

我正在尝试使用principalcontext验证用户的凭据,但始终会收到错误。 我尝试通过ssl连接,因为它是敏感数据,但它总是在标题中给我错误。

try
{
     PrincipalContext pc = new PrincipalContext(ContextType.Domain, "myAwesomeDomain.com", null, ContextOptions.SecureSocketLayer, adUser, adPassword);
      using (pc)
         {
             retVal = pc.ValidateCredentials(userID, password, ContextOptions.SecureSocketLayer);
         }
}

我还尝试为容器设置DC =“myAwesomeDomain,DC = COM”而不是null。 登录AD的凭据是正确的,它们与DirectoryEntry一起正常工作。 我不知道如何继续。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

嗯,从现在起一段时间后,我找到了一个解决方案:

try
{
      using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "myAwesomeDomain.com", null, ContextOptions.SecureSocketLayer, adUser, adPassword);
      {
             retVal = pc.ValidateCredentials(userID, password, ContextOptions.SecureSocketLayer);
      }
}

它真的有用这种方式,我无法解释原因