码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • RuoYi-Vue Spring Security 配置介绍


    文章目录

              • 核心配置类
              • 方法注解开关
              • 自定义认证规则
              • 自定义获取用户详情
              • 自定义注解实现匿名访问
              • 自定义验证异常处理类
              • 自定义登出逻辑流程
              • 自定义JWT拦截器

    核心配置类

    核心配置文件 com.ruoyi.framework.config.SecurityConfig.java
    在这里插入图片描述

    方法注解开关

    开启全局方法权限配置,默认禁用 @EnableGlobalMethodSecurity
    prePostEnabled = true 开启方法级别访问权限
    开启之后才可以在方法上使用 @PreAuthorize 注解

    在这里插入图片描述

    通过以下方法重新获取AuthenticationManager 的bean实例,解决通过@Autowired注解 无法直接注入 AuthenticationManager。

    在这里插入图片描述

    自定义认证规则

    继承Spring Security核心配置类WebSecurityConfigurerAdapter,可以根据需求通过重写方法实现自定义的逻辑流程。

    重写认证规则 configure方法实现自定义认证规则
    在这里插入图片描述

    自定义获取用户详情

    身份认证接口configure方法实现获取用户、角色、权限相关信息的逻辑。
    在这里插入图片描述

    自定义注解实现匿名访问

    自定义@Anonymous注解添加到方法上可以实现跳过权限验证。
    ①通过com.ruoyi.framework.config.properties.PermitAllUrlProperties类检验请求方法上是否有@Anonymous注解,如果存在则添加到一个集和数组中。

    ②在执行权限验证之前,将集和数组中这些url设置为可以允许访问,类似于下面登录login接口,只是用到2种不同的写法而已。
    在这里插入图片描述

    在这里插入图片描述

    自定义验证异常处理类

    SpringSecurity 验证过程中存在异常时,则抛出异常,有异常抛出的是英文的,通过自定义异常类实现统一管理异常返回。
    在这里插入图片描述
    全局异常拦截器类 org.springframework.security.web.access.ExceptionTranslationFilter
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    自定义登出逻辑流程

    1.删除用户缓存记录
    2.记录用户退出日志
    3.以流的形式封装返回报文,响应浏览器
    在这里插入图片描述

    自定义JWT拦截器

    这个会在jwt章节 详细讲解

  • 相关阅读:
    你们的优雅停机真的优雅吗?
    go-zero&go web集成gorm实战
    销售过程管理的最后一公里——销售日报管理(下)
    windows Visual Studio 2022 opengl开发环境配置
    CentOS环境下安装Nacos
    [附源码]SSM计算机毕业设计学生档案管理系统JAVA
    CentOS系统上安装Redis操作教程
    Elastic Observability 8.11:ES|QL、APM 中的通用分析和增强的 SLOs
    技术分享 | SpringBoot 流式输出时,正常输出后为何突然报错?
    学校上课,是耽误我学习了。。
  • 原文地址:https://blog.csdn.net/weixin_40816738/article/details/126085493
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号