This is an automated email from the ASF dual-hosted git repository.

albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git


The following commit(s) were added to refs/heads/3.2 by this push:
     new 85d45b959d Check if jackson2 security dependency existed (#12568)
85d45b959d is described below

commit 85d45b959d70219c727b063d87ee7afc86cce492
Author: Albumen Kevin <[email protected]>
AuthorDate: Mon Jun 19 18:56:13 2023 +0800

    Check if jackson2 security dependency existed (#12568)
---
 .../security/filter/AuthenticationExceptionTranslatorFilter.java  | 6 +++++-
 .../security/filter/ContextHolderAuthenticationPrepareFilter.java | 8 ++++++--
 .../filter/ContextHolderAuthenticationResolverFilter.java         | 6 +++++-
 .../spring/security/model/SecurityScopeModelInitializer.java      | 6 +++++-
 .../org/apache/dubbo/spring/security/utils/SecurityNames.java     | 2 ++
 5 files changed, 23 insertions(+), 5 deletions(-)

diff --git 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/AuthenticationExceptionTranslatorFilter.java
 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/AuthenticationExceptionTranslatorFilter.java
index 7885250782..00dadabf59 100644
--- 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/AuthenticationExceptionTranslatorFilter.java
+++ 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/AuthenticationExceptionTranslatorFilter.java
@@ -24,12 +24,16 @@ import org.apache.dubbo.rpc.Invocation;
 import org.apache.dubbo.rpc.Invoker;
 import org.apache.dubbo.rpc.Result;
 import org.apache.dubbo.rpc.RpcException;
+
 import org.springframework.security.access.AccessDeniedException;
 import org.springframework.security.core.AuthenticationException;
+
 import static org.apache.dubbo.rpc.RpcException.AUTHORIZATION_EXCEPTION;
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.CORE_JACKSON_2_MODULE_CLASS_NAME;
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.OBJECT_MAPPER_CLASS_NAME;
 import static 
org.apache.dubbo.spring.security.utils.SecurityNames.SECURITY_CONTEXT_HOLDER_CLASS_NAME;
 
-@Activate(group = CommonConstants.PROVIDER, order =Integer.MAX_VALUE,onClass = 
SECURITY_CONTEXT_HOLDER_CLASS_NAME)
+@Activate(group = CommonConstants.PROVIDER, order = Integer.MAX_VALUE, onClass 
= {SECURITY_CONTEXT_HOLDER_CLASS_NAME, CORE_JACKSON_2_MODULE_CLASS_NAME, 
OBJECT_MAPPER_CLASS_NAME})
 public class AuthenticationExceptionTranslatorFilter implements Filter, 
Filter.Listener {
 
 
diff --git 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationPrepareFilter.java
 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationPrepareFilter.java
index e2a8fe0bc6..6617f4be85 100644
--- 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationPrepareFilter.java
+++ 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationPrepareFilter.java
@@ -27,13 +27,17 @@ import org.apache.dubbo.rpc.cluster.filter.ClusterFilter;
 import org.apache.dubbo.rpc.model.ApplicationModel;
 import org.apache.dubbo.spring.security.jackson.ObjectMapperCodec;
 import org.apache.dubbo.spring.security.utils.SecurityNames;
+
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContext;
 import org.springframework.security.core.context.SecurityContextHolder;
+
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.CORE_JACKSON_2_MODULE_CLASS_NAME;
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.OBJECT_MAPPER_CLASS_NAME;
 import static 
org.apache.dubbo.spring.security.utils.SecurityNames.SECURITY_CONTEXT_HOLDER_CLASS_NAME;
 
-@Activate(group = CommonConstants.CONSUMER, order = -10000,onClass = 
SECURITY_CONTEXT_HOLDER_CLASS_NAME)
-public class ContextHolderAuthenticationPrepareFilter implements ClusterFilter{
+@Activate(group = CommonConstants.CONSUMER, order = -10000, onClass = 
{SECURITY_CONTEXT_HOLDER_CLASS_NAME, CORE_JACKSON_2_MODULE_CLASS_NAME, 
OBJECT_MAPPER_CLASS_NAME})
+public class ContextHolderAuthenticationPrepareFilter implements ClusterFilter 
{
 
     private final ObjectMapperCodec mapper;
 
diff --git 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationResolverFilter.java
 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationResolverFilter.java
index acd5026409..9f2567185a 100644
--- 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationResolverFilter.java
+++ 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/filter/ContextHolderAuthenticationResolverFilter.java
@@ -27,11 +27,15 @@ import org.apache.dubbo.rpc.RpcException;
 import org.apache.dubbo.rpc.model.ApplicationModel;
 import org.apache.dubbo.spring.security.jackson.ObjectMapperCodec;
 import org.apache.dubbo.spring.security.utils.SecurityNames;
+
 import org.springframework.security.core.Authentication;
 import org.springframework.security.core.context.SecurityContextHolder;
+
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.CORE_JACKSON_2_MODULE_CLASS_NAME;
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.OBJECT_MAPPER_CLASS_NAME;
 import static 
org.apache.dubbo.spring.security.utils.SecurityNames.SECURITY_CONTEXT_HOLDER_CLASS_NAME;
 
-@Activate(group = CommonConstants.PROVIDER, order = -10000,onClass = 
SECURITY_CONTEXT_HOLDER_CLASS_NAME)
+@Activate(group = CommonConstants.PROVIDER, order = -10000, onClass = 
{SECURITY_CONTEXT_HOLDER_CLASS_NAME, CORE_JACKSON_2_MODULE_CLASS_NAME, 
OBJECT_MAPPER_CLASS_NAME})
 public class ContextHolderAuthenticationResolverFilter implements Filter {
 
     private final ObjectMapperCodec mapper;
diff --git 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/model/SecurityScopeModelInitializer.java
 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/model/SecurityScopeModelInitializer.java
index 9679334f6f..286adedb1d 100644
--- 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/model/SecurityScopeModelInitializer.java
+++ 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/model/SecurityScopeModelInitializer.java
@@ -25,10 +25,14 @@ import org.apache.dubbo.rpc.model.ModuleModel;
 import org.apache.dubbo.rpc.model.ScopeModelInitializer;
 import org.apache.dubbo.spring.security.jackson.ObjectMapperCodec;
 import org.apache.dubbo.spring.security.jackson.ObjectMapperCodecCustomer;
+
 import java.util.Set;
+
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.CORE_JACKSON_2_MODULE_CLASS_NAME;
+import static 
org.apache.dubbo.spring.security.utils.SecurityNames.OBJECT_MAPPER_CLASS_NAME;
 import static 
org.apache.dubbo.spring.security.utils.SecurityNames.SECURITY_CONTEXT_HOLDER_CLASS_NAME;
 
-@Activate(onClass = SECURITY_CONTEXT_HOLDER_CLASS_NAME)
+@Activate(onClass = {SECURITY_CONTEXT_HOLDER_CLASS_NAME, 
CORE_JACKSON_2_MODULE_CLASS_NAME, OBJECT_MAPPER_CLASS_NAME})
 public class SecurityScopeModelInitializer implements ScopeModelInitializer {
 
     @Override
diff --git 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/utils/SecurityNames.java
 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/utils/SecurityNames.java
index 010d8d4f17..97e167095b 100644
--- 
a/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/utils/SecurityNames.java
+++ 
b/dubbo-plugin/dubbo-spring-security/src/main/java/org/apache/dubbo/spring/security/utils/SecurityNames.java
@@ -22,6 +22,8 @@ final public class SecurityNames {
     public static final String SECURITY_AUTHENTICATION_CONTEXT_KEY = 
"security_authentication_context";
 
     public static final String SECURITY_CONTEXT_HOLDER_CLASS_NAME = 
"org.springframework.security.core.context.SecurityContextHolder";
+    public static final String CORE_JACKSON_2_MODULE_CLASS_NAME = 
"org.springframework.security.jackson2.CoreJackson2Module";
+    public static final String OBJECT_MAPPER_CLASS_NAME = 
"com.fasterxml.jackson.databind.ObjectMapper";
 
     private SecurityNames() {}
 

Reply via email to