栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【编程不良人】SpringSecurity实战学习笔记02---认证原理&自定义认证

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【编程不良人】SpringSecurity实战学习笔记02---认证原理&自定义认证

3. 认证原理&自定义认证
  • 认证配置

  • 表单认证

  • 注销登录

  • 前后端分离认证

  • 添加验证码

3.1 自定义认证 3.1.1 自定义资源权限规则

配套视频:【编程不良人】SpringSecurity 最新实战教程,更新中..._哔哩哔哩_bilibili

  • /index:主页,公共资源,可以直接访问

  • /hello .... :受保护资源,需要权限管理(认证授权之后才能访问),默认所有资源都是受保护的,需要认证授权之后才能访问

在项目中添加如下配置就可以实现对资源权限规则设定:

 @Configuration
 public class WebSecurityConfigurer extends WebSecurityConfigurerAdapter {
     @Override
     
     protected void configure(HttpSecurity http) throws Exception {
         http.authorizeHttpRequests()
                 .mvcMatchers("/index").permitAll() //放行资源写在任何前面
                 .anyRequest().authenticated()
                 .and().formLogin();
     }
 }

注意:在SpringBoot 2.7.1 中的spring-security-config-5.7.2.RELEASE中已提到WebSecurityConfigurerAdapter已过时被弃用,替代方法如下:

  1. 使用 SecurityFilterChain Bean 来配置 HttpSecurity;

  2. 使用 WebSecurityCustomizer Bean 来配置 WebSecurity。

参考链接:

  • SpringSecurity - WebSecurityConfigurerAdapter 过时问题_爱上云原生的博客-CSDN博客

  • Spring Security即将弃用配置类WebSecurityConfigurerAdapter_码农小胖哥的博客-CSDN博客

替代后新代码为:

 package com.study.config;
 ​
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
 import org.springframework.security.web.SecurityFilterChain;
 ​
 
 @Configuration
 @EnableWebSecurity //添加security过滤器,此处一定要加入此注解,否则下面的httpSecurity无法装配
 public class WebSecurityConfig {
     
     @Bean
     SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {
         return httpSecurity
                 .authorizeHttpRequests()
                 .mvcMatchers("/index").permitAll()
                 .anyRequest().authenticated()
                 .and().formLogin().and().build();
     }
 }

总结:新替代方案中Spring Security 就不需要再去继承WebSecurityConfigurerAdapter,然后重写 configure()方法了,直接通过 filterChain() 方法就能使用 HttpSecurity 来配置相关信息。

重启项目,测试访问index请求时直接放行,访问hello请求时需要登录后才能正常访问!!!

3.1.2 自定义登录界面

配套视频:【编程不良人】SpringSecurity 最新实战教程,更新中..._哔哩哔哩_bilibili

待完善。。。。。。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号