C# 用户需要什么权限来验证Active Directory中的凭据?

C# 用户需要什么权限来验证Active Directory中的凭据?,c#,active-directory,C#,Active Directory,我有一些代码使用PrincipalContext对象,并将特定的用户名和密码传递到其构造函数中,以绑定到Active Directory 然后进行调用。ValidateCredentials()为正在验证的用户传入不同的用户名和密码 我的问题是,为了让第一个用户绑定到Active Directory,Active Directory中需要什么权限?当我开始研究这个主题时,我发现一切都非常混乱,本教程是一个更好的入门教程,因为有很多首字母缩略词会增加难度。 我想向您提一个关于有效性的类似问题,但

我有一些代码使用PrincipalContext对象,并将特定的用户名和密码传递到其构造函数中,以绑定到Active Directory

然后进行调用。ValidateCredentials()为正在验证的用户传入不同的用户名和密码


我的问题是,为了让第一个用户绑定到Active Directory,Active Directory中需要什么权限?

当我开始研究这个主题时,我发现一切都非常混乱,本教程是一个更好的入门教程,因为有很多首字母缩略词会增加难度。

我想向您提一个关于有效性的类似问题,但不是关于凭证的问题 因为有几个代码片段与这类工作相关

我想你问的是身份验证功能

我认为发布我的全部代码只会让你感到困惑,所以我将解释它的结构,希望能让你继续并给出一个片段

我这样做的方式和方法有很多,如下所示:

公共类LDA身份验证 用一种方法进行验证 其中传递方法的是域、用户名和密码

然后我用 目录条目 目录搜索者 查找和筛选SAMAccountName的步骤 然后,这取决于你的应用程序和你想找到什么

但其中大部分都在内部 System.DirectoryServices

            try
            {   //Bind to the native AdsObject to force authentication.         
                Object obj = entry.NativeObject;

                DirectorySearcher search = new DirectorySearcher(entry);

                search.Filter = "(SAMAccountName=" + username + ")";
                search.PropertiesToLoad.Add("cn");
                SearchResult result = search.FindOne();

                if (null == result)
                {
                    return false;
                }

                //Update the new path to the user in the directory.
                _path = result.Path;
                _filterAttribute = (String)result.Properties["cn"][0];
            }
            catch (Exception ex)
            {
                throw new Exception("Error authenticating user. " + ex.Message);
            }
这应该给你足够的时间开始搜索并得到你需要的东西。祝你好运

在内部,该方法只需使用提供的网络凭据调用该方法,以检查它们是否有效。如果绑定成功,ValidateCredentials返回true,否则返回false

由于该方法使用以下属性修饰:

[DirectoryServicesPermissionAttribute(SecurityAction.LinkDemand, Unrestricted = true)]
应用程序的标识(运行进程和/或当前模拟的用户帐户)必须通过此权限检查才能使该方法工作。

要绑定,只需传入当前活动的任何AuthenticatablePrinciple对象即可(你知道计算机也有登录域的密码吗?它们每隔几周就会自动更改一次),但我不知道验证凭据是否需要更多权限。(总之,你的标题不错,但问题的主体不是)