gpt4 book ai didi

attributes - Unboundid LDAP 域属性

转载 作者:行者123 更新时间:2023-12-03 16:35:05 26 4
gpt4 key购买 nike

我需要根据 Active Directory 评估用户的密码到期时间。
我正在使用 Android 和 Unboundid sdk。我可以使用此代码成功连接到服务器

final SocketFactory _socket_factory;
final SSLUtil _ssl_util = new SSLUtil(new TrustAllTrustManager());

try {
_socket_factory = _ssl_util.createSSLSocketFactory();
}
catch (Exception e) {
Log.e(LOG_TAG, "*** Unable to initialize ssl", e);
return null;
}

LDAPConnectionOptions _ldap_connection_options = new LDAPConnectionOptions();
_ldap_connection_options.setAutoReconnect(true);
_ldap_connection_options.setConnectTimeoutMillis(30000);
_ldap_connection_options.setFollowReferrals(false);
_ldap_connection_options.setMaxMessageSize(1024*1024);

LDAPConnection _ldap_connection = new LDAPConnection(_socket_factory, _ldap_connection_options, _host, _port);

BindRequest _bind_request = new SimpleBindRequest(_username, _password);
BindResult _bind_result = _ldap_connection.bind(_bind_request);

我使用搜索检索用户属性

Filter _filter = Filter.create("(userPrincipalName=lorenzoff)");
SearchRequest _search_request = new SearchRequest(_server._base_dn, SearchScope.SUB, _filter);

但是我如何读取域的属性“maxPwdAge”?我可以在域属性中看到它...

enter image description here

我需要它来评估用户密码到期前的剩余天数。

最佳答案

我遇到了同样的问题并找到了解决方案。这个想法很简单,您必须访问基本 DN 并获取该属性:

SearchRequest _search_request = new SearchRequest(_server._base_dn, 
SearchScope.BASE, "(objectClass=*)","maxPwdAge");

有了这个,您应该得到具有该属性的结果,如果您得到 SearchRequest.ALL_USER_ATTRIBUTES,您将在屏幕截图上显示所有属性。

该属性对所有用户都是通用的,接下来您需要做的是在获取属性 pwdLastSet 之前搜索您的特定用户,因为您希望它具有时间戳用户最后一次更改密码的时间。

现在很简单,你需要找到用户最后一次更改它的到期日期,以及密码年龄

希望对你有帮助

关于attributes - Unboundid LDAP 域属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11352073/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com