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最新实战
标签:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构