0

我第一次在.Net中使用目录服务。我想用它在asp.net网站应用程序中对我机器上的本地用户进行身份验证代码如下

DirectoryEntry entry = new DirectoryEntry("WinNT://"+Environment.MachineName+"/administrator", txtBoxUserName.Text, txtBoxPWD.Text);

出于某种原因,尽管我为管理员用户使用了正确的用户名和密码,但我得到了“System.Runtime.InteropServices.COMException”的异常。

任何帮助,将不胜感激

4

1 回答 1

0

尝试这个:


public bool IsAuthenticationValid(string userName, string password)
{
    using (var context = new PrincipalContext(ContextType.Machine))
    {
        return context.ValidateCredentials(userName, password);
    }
}

编辑:忘了提及您将需要 System.DirectoryServices 和 System.DirectoryServices.AccountManagement 参考。

如果您遇到同样的错误,请描述您在什么环境中运行此代码。我的意思是命令行、Web 应用程序等。只是更多的背景知识,看看我是否可以进一步帮助您。

于 2012-05-11T02:03:11.010 回答