From b5d65bfc56a46c17c4fe8096a1cfb306b985ad72 Mon Sep 17 00:00:00 2001 From: Christian Dupuis Date: Fri, 20 Jun 2014 13:58:33 +0200 Subject: [PATCH] Delegate shell access decision to bean named "shellAccessDecisionManager" In order to solve issues with multiple or incompatible AccessDecisionManagers, the CRaSH integration will now only delegate to an explicit shellAccessDecisionManager bean refs #1121 --- .../boot/actuate/autoconfigure/CrshAutoConfiguration.java | 2 ++ .../boot/actuate/autoconfigure/CrshAutoConfigurationTests.java | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java index 958ec11fcfd..b12245f920c 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfiguration.java @@ -43,6 +43,7 @@ import org.crsh.vfs.spi.AbstractFSDriver; import org.crsh.vfs.spi.FSDriver; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.actuate.autoconfigure.ShellProperties.CrshShellAuthenticationProperties; import org.springframework.boot.actuate.autoconfigure.ShellProperties.CrshShellProperties; import org.springframework.boot.actuate.autoconfigure.ShellProperties.JaasAuthenticationProperties; @@ -280,6 +281,7 @@ public class CrshAutoConfiguration { private AuthenticationManager authenticationManager; @Autowired(required = false) + @Qualifier("shellAccessDecisionManager") private AccessDecisionManager accessDecisionManager; private String[] roles = new String[] { "ADMIN" }; diff --git a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java index 59a999ced6c..5fbb2bbe017 100644 --- a/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java +++ b/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/autoconfigure/CrshAutoConfigurationTests.java @@ -372,7 +372,7 @@ public class CrshAutoConfigurationTests { } @Bean - public AccessDecisionManager accessDecisionManager() { + public AccessDecisionManager shellAccessDecisionManager() { List voters = new ArrayList(); RoleVoter voter = new RoleVoter(); voter.setRolePrefix(""); @@ -380,6 +380,7 @@ public class CrshAutoConfigurationTests { AccessDecisionManager result = new UnanimousBased(voters); return result; } + } }