diff --git a/src/main/java/com/example/DemoApplication.java b/src/main/java/com/example/DemoApplication.java index 4e28670..6c42bae 100644 --- a/src/main/java/com/example/DemoApplication.java +++ b/src/main/java/com/example/DemoApplication.java @@ -1,33 +1,12 @@ package com.example; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; -import org.springframework.boot.actuate.autoconfigure.ManagementServerProperties; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.security.SecurityProperties; -import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; -import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; - -import java.util.ArrayList; -import java.util.List; @SpringBootApplication -@EnableResourceServer public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } - - // !!!!!!!!!!!!!!!!!!!!!! - // This is what we need to do in order to get it working - // !!!!!!!!!!!!!!!!!!!!!! - //@Autowired - //protected void configure(AuthenticationManagerBuilder builder, SecurityProperties security, - // ManagementServerProperties management) throws Exception { - // List authorities = new ArrayList<>(security.getUser().getRole()); - // authorities.add(management.getSecurity().getRole()); - // builder.inMemoryAuthentication().withUser(security.getUser().getName()).password(security.getUser().getPassword()) - // .roles(authorities.toArray(new String[0])); - //} } diff --git a/src/main/java/com/example/ResourceServerCustomConfiguration.java b/src/main/java/com/example/ResourceServerCustomConfiguration.java index ee5e3fa..c93b406 100644 --- a/src/main/java/com/example/ResourceServerCustomConfiguration.java +++ b/src/main/java/com/example/ResourceServerCustomConfiguration.java @@ -1,13 +1,18 @@ package com.example; +import org.springframework.boot.actuate.autoconfigure.ManagementServerProperties; import org.springframework.context.annotation.Configuration; +import org.springframework.core.annotation.Order; import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; import org.springframework.security.web.util.matcher.AntPathRequestMatcher; import org.springframework.security.web.util.matcher.NegatedRequestMatcher; +@Order(ManagementServerProperties.BASIC_AUTH_ORDER + 1) @Configuration +@EnableResourceServer public class ResourceServerCustomConfiguration extends ResourceServerConfigurerAdapter { @Override diff --git a/src/main/java/com/example/WebSecurityCustomConfiguration.java b/src/main/java/com/example/WebSecurityCustomConfiguration.java new file mode 100644 index 0000000..021972d --- /dev/null +++ b/src/main/java/com/example/WebSecurityCustomConfiguration.java @@ -0,0 +1,31 @@ +package com.example; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.annotation.web.WebSecurityConfigurer; +import org.springframework.security.config.annotation.web.builders.WebSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; + +/** + * @author krullert + */ +@EnableWebSecurity +public class WebSecurityCustomConfiguration implements WebSecurityConfigurer { + + @Autowired + private AuthenticationManager authenticationManager; + + @Override + public void init(WebSecurity builder) throws Exception { + // adapter method + } + + @Override + public void configure(WebSecurity builder) throws Exception { + // adapter method + } + + protected AuthenticationManager getAuthenticationManager() { + return authenticationManager; + } +}