JAVA-14894 Update spring-security-web-react module under spring-security-modules to remove usage of deprecated WebSecurityConfigurerAdapter (#12916)
This commit is contained in:
parent
e506e68202
commit
84dd60e287
@ -1,57 +1,65 @@
|
|||||||
package com.baeldung.spring;
|
package com.baeldung.spring;
|
||||||
|
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Profile;
|
import org.springframework.context.annotation.Profile;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
|
||||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||||
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
|
||||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
import org.springframework.security.core.userdetails.User;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
|
||||||
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
|
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableWebSecurity
|
@EnableWebSecurity
|
||||||
@Profile("!https")
|
@Profile("!https")
|
||||||
public class SecSecurityConfig extends WebSecurityConfigurerAdapter {
|
public class SecSecurityConfig {
|
||||||
|
|
||||||
public SecSecurityConfig() {
|
@Bean
|
||||||
super();
|
public InMemoryUserDetailsManager userDetailsService() throws Exception {
|
||||||
|
UserDetails user1 = User.withUsername("user1")
|
||||||
|
.password("{noop}user1Pass")
|
||||||
|
.roles("USER")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
UserDetails user2 = User.withUsername("user2")
|
||||||
|
.password("{noop}user2Pass")
|
||||||
|
.roles("USER")
|
||||||
|
.build();
|
||||||
|
|
||||||
|
UserDetails admin = User.withUsername("admin")
|
||||||
|
.password("{noop}admin0Pass")
|
||||||
|
.roles("ADMIN")
|
||||||
|
.build();
|
||||||
|
return new InMemoryUserDetailsManager(user1, user2, admin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Bean
|
||||||
protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
|
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
|
||||||
// @formatter:off
|
http.csrf()
|
||||||
auth.inMemoryAuthentication()
|
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
|
||||||
.withUser("user1").password("{noop}user1Pass").roles("USER")
|
.and()
|
||||||
.and()
|
.authorizeRequests()
|
||||||
.withUser("user2").password("{noop}user2Pass").roles("USER")
|
.antMatchers("/admin/**")
|
||||||
.and()
|
.hasRole("ADMIN")
|
||||||
.withUser("admin").password("{noop}admin0Pass").roles("ADMIN");
|
.antMatchers("/anonymous*")
|
||||||
// @formatter:on
|
.anonymous()
|
||||||
|
.antMatchers(HttpMethod.GET, "/index*", "/static/**", "/*.js", "/*.json", "/*.ico", "/rest")
|
||||||
|
.permitAll()
|
||||||
|
.anyRequest()
|
||||||
|
.authenticated()
|
||||||
|
.and()
|
||||||
|
.formLogin()
|
||||||
|
.loginPage("/index.html")
|
||||||
|
.loginProcessingUrl("/perform_login")
|
||||||
|
.defaultSuccessUrl("/homepage.html", true)
|
||||||
|
.failureUrl("/index.html?error=true")
|
||||||
|
.and()
|
||||||
|
.logout()
|
||||||
|
.logoutUrl("/perform_logout")
|
||||||
|
.deleteCookies("JSESSIONID");
|
||||||
|
return http.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void configure(final HttpSecurity http) throws Exception {
|
|
||||||
// @formatter:off
|
|
||||||
http
|
|
||||||
.csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()).and()
|
|
||||||
.authorizeRequests()
|
|
||||||
.antMatchers("/admin/**").hasRole("ADMIN")
|
|
||||||
.antMatchers("/anonymous*").anonymous()
|
|
||||||
.antMatchers(HttpMethod.GET, "/index*", "/static/**", "/*.js", "/*.json", "/*.ico", "/rest").permitAll()
|
|
||||||
.anyRequest().authenticated()
|
|
||||||
.and()
|
|
||||||
.formLogin()
|
|
||||||
.loginPage("/index.html")
|
|
||||||
.loginProcessingUrl("/perform_login")
|
|
||||||
.defaultSuccessUrl("/homepage.html",true)
|
|
||||||
.failureUrl("/index.html?error=true")
|
|
||||||
.and()
|
|
||||||
.logout()
|
|
||||||
.logoutUrl("/perform_logout")
|
|
||||||
.deleteCookies("JSESSIONID");
|
|
||||||
// @formatter:on
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user