Spring Security 学习笔记 - 自定义资源认证规则
使用自定义配置替代默认规则
之前(懒得找了)笔记提到,Security 有自己的默认配置,其中一点就是当不存在 WebSecurityConfigurerAdapter 和另一个叫什么的 Filter 来着的时候,默认配置就生效,也就是说,想要自己控制 Security 的行为就自己实现 WebSecurityConfigurerAdapter 或 Filter。
实现 WebSecurityConfigurerAdapter
定义一个类,继承 WebSecurityConfigurerAdapter,在这个子类中完成定义以替代默认行为。下面代码效果是 /index 资源被放行(无需认证),其他任何请求需要认证,认证方式是 Form 表单方式。
package top.litt.springsecuritylearn.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
/**
* 覆写 Spring Security WebSecurityConfigureAdapter,
* 用于以自定义配置替代 Security 默认配置和行为
*/
// @Configuration表示一个配置类
@Configuration
public class AppWebSecurityConfigure extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
// 放行
.mvcMatchers("/index").permitAll()
// 拦截
.anyRequest().authenticated()
.and()
.formLogin();
}
}
bilibili - 编程不良人 - SpringSecurity最新实战