使用DirectoryEntry连接Active Directory所需的最低权限是什么?
连接Active Directory获取用户信息的最低权限
连接Active Directory并读取用户常规信息所需的最低权限,就是域内普通域用户的权限,完全不需要域管理员权限。
原因说明
- Active Directory的默认权限模型中,普通域用户(甚至部分场景下的匿名用户)默认拥有读取目录内大部分对象(包括用户账号)基础属性的权限,这是为了支撑域内的日常基础操作,比如用户登录验证、全局地址簿查询等。
- 你测试中使用普通非管理员账号能获取全部用户信息,是完全符合AD默认权限配置的正常现象。
权限边界
如果你的操作超出单纯读取常规用户信息的范围,才需要更高权限:
- 若需修改用户属性、重置密码,需要账户操作员(Account Operator)或对应OU的针对性权限;
- 若需访问敏感属性(如密码哈希、加密隐私数据),才需要域管理员级别的权限。
代码适配性
你当前的代码使用普通域用户账号即可满足读取用户信息的需求,无需提升权限:
string ADusername = System.Web.Configuration.WebConfigurationManager.AppSettings["ADUserName"]; string ADpassword = System.Web.Configuration.WebConfigurationManager.AppSettings["ADPassword"]; using (var context = new DirectoryEntry("LDAP://mydomain.com:389/DC=mydomain,DC=com", ADusername, ADpassword))
内容的提问来源于stack exchange,提问作者John John
相关产品推荐
相关产品推荐

