SecurityContextHolder securityContextHolder = new SecurityContextHolder();
SecurityContext securityContext = SecurityContextHolder.getContext();
Authentication authentication = securityContext.getAuthentication();
Object principal = authentication.getPrincipal();
UserDetails userDetails = (UserDetails) principal;
String username = userDetails.getUsername();
String password = userDetails.getPassword();
Authentication auth = new UsernamePasswordAuthenticationToken(username, password);
securityContext.setAuthentication(auth);
@EnableWebSecurity
public class MultiHttpSecurityConfig{
@Bean
public UserDetailsService userDetailsService() {
return new RedisUserDetailsService();
}
@Configuration
@Order(1)
public static class ApiWebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
}
}
@Configuration
@Order(2)
public static class AdminWebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
}
}
}
@Component
public class RedisUserDetailsService implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
return User.builder().build();
}
}