java - 如何使用 UnboundID LDAP SDK 检查 LDAP 用户帐户是否在 Java 中过期
问题描述
我有一个可用的 LdapConnection 对象,可用于绑定和搜索,但我对 UnboundID LDAP SDK 还是很陌生,想知道是否有办法从 LDAP 搜索中找到有关用户帐户的信息:
我目前使用 LdapConnection 来搜索这样的用户名:
SearchResult searchResult = ldapConnection.search(configuration.sBase, scope, filter)
有没有办法可以使用此连接来查找过期/禁用的帐户?
所以看起来过期的用户是这样找到的:
(&(objectCategory=Person)(objectClass=User)(!accountExpires=0)(!accountExpires=9223372036854775807))
我可以用这个字符串做一个过滤器来搜索 ldap 并从 unboundID Ldap 返回所有具有 LdapConnection 对象的用户吗?
谢谢
解决方案
在 Active Directory 中,您可以使用属性:UserStatus,它是一个布尔值,如果为 true,则启用帐户,否则禁用,您还可以在创建新用户时设置 AccountExpires 属性,默认为 0,因此帐户永不过期,您如果您想要临时帐户,可以更改它。
推荐阅读
- symfony - Symfony 2 应用程序登录期间的 SQL 错误
- java - RestEasy + Jackson 和 JBoss EAP 6.4
- python - Google App Engine 在 flex 环境中推送任务超时
- json - json cpprestsdk 复制 json 对象 - 解析函数不进行深层复制
- javascript - wordpress - 通过函数加载脚本 = 谷歌页面速度问题
- r - 计算 R 中每个日期出现的平均人数
- android - Android SLIC 超像素
- matlab - 找到两组点之间最近的点对,优化总和差异
- php - 在 OpenSuse 上使用 Nginx 和 PHP-FPM 提供内联 PHP
- google-cloud-storage - 在 python 客户端中批量删除对象的指数退避