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 @ 2022-05-21 23:29  试试手气  阅读(88)  评论(0编辑  收藏  举报