我有一个用于检查用户凭据的小型 C# 解决方案。它适用于我的两个队友,但在我的 PC 上出现异常。
相关代码:
PrincipalContext context = new PrincipalContext(ContextType.Domain);
if (context.ValidateCredentials(System.Environment.UserDomainName + "\\" + usr, pwd))
return true;
else
return false;
异常(exception)情况是:
DirectoryOperationException, "The server cannot handle directory requests.".
我尝试使用明确的服务器名称和 636 端口号创建上下文,但这也没有帮助。
有什么想法吗?
最佳答案
我在使用 IIS Express 和 VS 2010 时也遇到了这个问题。为我解决这个问题的是对另一个线程的评论。
Validate a username and password against Active Directory?
但我会为您节省点击和搜索...:) 只需添加 ContextOpations.Negotiate 给您验证凭证调用,如下所示。
bool valid = context.ValidateCredentials(user, pass, ***ContextOptions.Negotiate***);
关于c# - .Net 的目录服务抛出一个奇怪的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694919/