mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 11:52:08 +08:00
修改LDAP获取UserDN的时候可能出错的问题
This commit is contained in:
@@ -56,15 +56,14 @@ public class LDAPAuthentication {
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getUserDN(String account) {
|
||||
String userDN = null;
|
||||
LdapContext ctx = getConnect();
|
||||
private String getUserDN(String account,LdapContext ctx) {
|
||||
String userDN = "";
|
||||
try {
|
||||
SearchControls constraints = new SearchControls();
|
||||
constraints.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
||||
NamingEnumeration<SearchResult> en = ctx.search("", "account=" + account, constraints);
|
||||
if (en == null || !en.hasMoreElements()) {
|
||||
return null;
|
||||
return "";
|
||||
}
|
||||
// maybe more than one element
|
||||
while (en.hasMoreElements()) {
|
||||
@@ -93,7 +92,7 @@ public class LDAPAuthentication {
|
||||
LdapContext ctx = getConnect();
|
||||
|
||||
boolean valide = false;
|
||||
String userDN = getUserDN(account);
|
||||
String userDN = getUserDN(account,ctx);
|
||||
try {
|
||||
assert ctx != null;
|
||||
ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, userDN);
|
||||
|
||||
Reference in New Issue
Block a user