From 2b3d93043835c0cc59f7c24c91016555d1b08efd Mon Sep 17 00:00:00 2001 From: ParkGyeongTae Date: Mon, 13 Jul 2026 13:04:22 +0900 Subject: [PATCH] [ZEPPELIN-6528] Upgrade Apache Shiro from 1.13.0 to 2.0.6 - Bump shiro.version from 1.13.0 to 2.0.6 in pom.xml - Bump bouncycastle.version from 1.80 to 1.82 to resolve dependency convergence conflict introduced by shiro-crypto-hash:2.0.6 - Replace removed DefaultLdapContextFactory with JndiLdapContextFactory in ActiveDirectoryGroupRealm - Update StringUtils import from org.apache.shiro.util to org.apache.shiro.lang.util in LdapRealm - Update ShiroException import to org.apache.shiro.lang.ShiroException in LdapRealm - Update LifecycleUtils import from org.apache.shiro.util to org.apache.shiro.lang.util in AbstractShiroTest and ShiroAuthenticationServiceTest --- pom.xml | 4 ++-- .../apache/zeppelin/realm/ActiveDirectoryGroupRealm.java | 6 ++---- .../src/main/java/org/apache/zeppelin/realm/LdapRealm.java | 4 ++-- .../zeppelin/service/ShiroAuthenticationServiceTest.java | 2 +- .../apache/zeppelin/service/shiro/AbstractShiroTest.java | 2 +- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 0b3a1803014..9796c7e1e2f 100644 --- a/pom.xml +++ b/pom.xml @@ -131,8 +131,8 @@ 2.15.1 3.2.2 1.4 - 1.13.0 - 1.80 + 2.0.6 + 1.82 3.6.3 4.2.29 1.14.2 diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ActiveDirectoryGroupRealm.java b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ActiveDirectoryGroupRealm.java index 296b687797f..255bc8437f6 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ActiveDirectoryGroupRealm.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/ActiveDirectoryGroupRealm.java @@ -27,7 +27,7 @@ import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.SimpleAuthorizationInfo; import org.apache.shiro.realm.ldap.AbstractLdapRealm; -import org.apache.shiro.realm.ldap.DefaultLdapContextFactory; +import org.apache.shiro.realm.ldap.JndiLdapContextFactory; import org.apache.shiro.realm.ldap.LdapContextFactory; import org.apache.shiro.realm.ldap.LdapUtils; import org.apache.shiro.subject.PrincipalCollection; @@ -105,9 +105,7 @@ protected void onInit() { public LdapContextFactory getLdapContextFactory() { if (this.ldapContextFactory == null) { LOGGER.debug("No LdapContextFactory specified - creating a default instance."); - DefaultLdapContextFactory defaultFactory = new DefaultLdapContextFactory(); - defaultFactory.setPrincipalSuffix(this.principalSuffix); - defaultFactory.setSearchBase(this.searchBase); + JndiLdapContextFactory defaultFactory = new JndiLdapContextFactory(); defaultFactory.setUrl(this.url); defaultFactory.setSystemUsername(this.systemUsername); defaultFactory.setSystemPassword(getSystemPassword()); diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/LdapRealm.java b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/LdapRealm.java index be8a0f0c68d..5c7ff9a1f36 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/realm/LdapRealm.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/realm/LdapRealm.java @@ -48,7 +48,7 @@ import org.apache.hadoop.security.alias.CredentialProvider; import org.apache.hadoop.security.alias.CredentialProviderFactory; import org.apache.shiro.SecurityUtils; -import org.apache.shiro.ShiroException; +import org.apache.shiro.lang.ShiroException; import org.apache.shiro.authc.AuthenticationInfo; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.SimpleAuthenticationInfo; @@ -66,7 +66,7 @@ import org.apache.shiro.session.Session; import org.apache.shiro.subject.MutablePrincipalCollection; import org.apache.shiro.subject.PrincipalCollection; -import org.apache.shiro.util.StringUtils; +import org.apache.shiro.lang.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/service/ShiroAuthenticationServiceTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/service/ShiroAuthenticationServiceTest.java index f82539e715d..201a894fd3e 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/service/ShiroAuthenticationServiceTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/service/ShiroAuthenticationServiceTest.java @@ -33,7 +33,7 @@ import org.apache.shiro.mgt.DefaultSecurityManager; import org.apache.shiro.realm.jdbc.JdbcRealm; import org.apache.shiro.subject.Subject; -import org.apache.shiro.util.LifecycleUtils; +import org.apache.shiro.lang.util.LifecycleUtils; import org.apache.shiro.util.ThreadContext; import org.apache.zeppelin.conf.ZeppelinConfiguration; import org.apache.zeppelin.realm.jwt.KnoxJwtRealm; diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/service/shiro/AbstractShiroTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/service/shiro/AbstractShiroTest.java index e63d218ca2b..8ff7b274b09 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/service/shiro/AbstractShiroTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/service/shiro/AbstractShiroTest.java @@ -21,7 +21,7 @@ import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; import org.apache.shiro.subject.support.SubjectThreadState; -import org.apache.shiro.util.LifecycleUtils; +import org.apache.shiro.lang.util.LifecycleUtils; import org.apache.shiro.util.ThreadState; import org.junit.jupiter.api.AfterAll;