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最新实战

posted @   试试手气  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示