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