(一)配置类
Spring security的配置和Spring MVC的配置类似,只需在一个配置类上注解@EnableWebSecurity(Springboot项目可以不用),并让这个类继承WebSecurityConfigurerAdapter。
@Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { super.configure(auth); } @Override protected void configure(HttpSecurity http) throws Exception { super.configure(http); } @Override public void configure(WebSecurity web) throws Exception { super.configure(web); } }
(二)用户认证
通过实现UserDetailsService来实现
@Service public class CustomUserService implements UserDetailsService { @Autowired SysUserRepository sysUserRepository; @Override public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException { SysUser user = sysUserRepository.findByUsername(s); if (user == null) { throw new UsernameNotFoundException("用户名不存在"); } return user; } }
(三)请求&授权
Spring security通过重写
protected void configure(HttpSecurity http)
这个方法来实现请求拦截的。
(四)定制登录行为
通过重写
protected void configure(HttpSecurity http)
这个方法(和上面是同一个方法)来定制登录行为