java - 如何检查用户是否处于活动状态?
问题描述
我正在使用 Java 从客户端服务器查询 Active Directory。
我的基础 DN 是
CN=GGM-FOX-MANAGER,OU=ClaimRoles,OU=Groups,OU=ENT,DC=ad,DC=myhostname,dc=com
所以我试图使用这个查询从上面提到的组中提取所有用户
(objectClass=*)
返回这么多键和值。
例如:
displayName: GGM-FOX-MANAGER
member: CN=100,OU=Employees,OU=Shopping,DC=RB,DC=ad,DC=myhostname,dc=com;and more users separated by ;
objectClass: top;group
objectCategory: CN=Group,Cn=Schema,CN=Configuration,DC=ad,DC=myhostname,dc=com
cn=GGM-FOX-MANAGER
distinguishedName=CN=GGM-FOX-MANAGER,OU=ClaimRoles,OU=Groups,OU=ENT,DC=ad,DC=myhostname,dc=com
etc
如何编写查询以仅提取成员,而不是获取上述示例数据?其次,我如何知道成员的状态,是否使用查询?
使用 Java
解决方案
每当进行 LDAP 查询时,您都可以告诉它您希望它为每个结果返回哪些属性。如果您不指定任何内容,它将为您提供一切。您可以告诉它只返回member
属性。
要查找每个成员的信息,您必须遍历该member
属性的每个值,从而为您提供每个成员的专有名称 (DN)。然后您可以绑定到该用户对象并查看该对象的属性。
如果您想知道帐户是否启用,您需要查看userAccountControl
属性的第二位。在 Java 中,您使用userAccountControl
with的值& 2
。如果结果是2
,则它被禁用。如果结果为0
,则启用。我不是 Java 开发人员,但您可以在这个答案中找到一个示例。
推荐阅读
- php - PHP, error_log('消息'); 如何在浏览器中检索和显示消息?
- c# - 如何调试涉及方法调用的合并空语句
- quantum-computing - Q#中R1和Rz的区别
- javascript - 如何在js中使用另一个div属性值更改div背景颜色
- database - Cloud Firestore 结构更好的案例
- angular - 如何根据anular中的复选框值过滤firebase数据库
- server - WAMP 服务器指向 IP 地址,现在 IP 地址已更改。我无法再访问我的网站
- java - 服务发送的通知不会显示
- javascript - 返回带有异步请求的布尔值
- excel - 有一个 UDF 来执行 countif 并“评分”一行