如何使用UnboundID LDAP SDK在Java中检查LDAP用户帐户是否已过期

问题描述

我有一个可用于绑定和搜索的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,因此该帐户永远不会过期后,如果您要使用临时帐户,则可以更改。