diff --git a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/ldap/LDAPAuthentication.java b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/ldap/LDAPAuthentication.java index c1694b4c..2419901a 100644 --- a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/ldap/LDAPAuthentication.java +++ b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/utils/ldap/LDAPAuthentication.java @@ -92,9 +92,10 @@ public class LDAPAuthentication { LdapContext ctx = getConnect(); boolean valide = false; - String userDN = getUserDN(account,ctx); + try { - assert ctx != null; + String userDN = getUserDN(account,ctx); + ctx.addToEnvironment(Context.SECURITY_PRINCIPAL, userDN); ctx.addToEnvironment(Context.SECURITY_CREDENTIALS, password); ctx.reconnect(null); @@ -103,6 +104,14 @@ public class LDAPAuthentication { System.out.println(e.toString()); } catch (NamingException e) { e.printStackTrace(); + }finally { + if(ctx!=null) { + try { + ctx.close(); + } catch (NamingException e) { + e.printStackTrace(); + } + } } return valide; diff --git a/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java b/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java index ec9324b9..25ca16e1 100644 --- a/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java +++ b/kafka-manager-extends/kafka-manager-account/src/main/java/com/xiaojukeji/kafka/manager/account/component/sso/BaseSessionSignOn.java @@ -56,7 +56,7 @@ public class BaseSessionSignOn extends AbstractSingleSignOn { return null; } - if(authUserRegistration){ + if(accountDO==null && authUserRegistration){ //自动注册 accountDO = new AccountDO(); accountDO.setUsername(dto.getUsername()); @@ -66,6 +66,8 @@ public class BaseSessionSignOn extends AbstractSingleSignOn { return dto.getUsername(); } + return dto.getUsername(); + } if (ValidateUtils.isNull(accountDO)) {