没有WebSecurityConfigurerAdapter的Spring Security
如果你想要配置Spring Security但不使用WebSecurityConfigurerAdapter
,你可以选择使用Java配置或XML配置。以下是一个使用Java配置的简单示例:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
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.UserDetailsService;
import org.springframework.security.provisioning.InMemoryUserDetailsManager;
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
public UserDetailsService userDetailsService() {
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(User.withDefaultPasswordEncoder().username("user").password("password").roles("USER").build());
return manager;
}
// 如果需要自定义配置,可以继续扩展WebSecurityConfigurerAdapter
}
在这个配置中,我们定义了一个UserDetailsService
bean,它使用InMemoryUserDetailsManager
来存储用户详情。这样就不需要继承WebSecurityConfigurerAdapter
。
如果你的应用是基于Spring Boot的,确保你的配置类在主应用类所在的同一个包或者子包中,这样Spring Boot的自动配置才能扫描到它。
评论已关闭