SpringSecurity安全框架学习——@PreAuthorize的实现原理

这篇具有很好参考价值的文章主要介绍了SpringSecurity安全框架学习——@PreAuthorize的实现原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

@PreAuthorize

首先我们打开@PreAuthorize注解的源码,然后按住Ctrl并单击PreAuthorize,可以看到在EnableMethodSecurity注解中有引用
(本文使用IDEA,后续不再复述)
SpringSecurity安全框架学习——@PreAuthorize的实现原理

@EnableMethodSecurity

查看EnableMethodSecurity源码,可以到,其引用了MethodSecuritySelector
SpringSecurity安全框架学习——@PreAuthorize的实现原理

MethodSecuritySelector

按照惯例,打开MethodSecuritySelector
SpringSecurity安全框架学习——@PreAuthorize的实现原理

PrePostMethodSecurityConfiguration

可以看到,当prePostEnabled=true时,会注入PrePostMethodSecurityConfiguration,而在PrePostMethodSecurityConfiguration中会各类型拦截器进行注入,其中包括了PreAuthorize,也包括了postAuthorize等,那我们本节专门针对@preAuthorize注解进行学习,所以我们找到这段代码:

SpringSecurity安全框架学习——@PreAuthorize的实现原理
SpringSecurity安全框架学习——@PreAuthorize的实现原理
可以进一步找到PreAuthorizeAuthorizationManager(预授权方法管理器),在预授权处理器中,要分两步讲解,第一是缓存,当某个请求方法第一次被请求时,会执行下面代码,之后则直接从缓存中获取(缓存实现原理请自行查看源码,严重超纲)。
SpringSecurity安全框架学习——@PreAuthorize的实现原理
第二是进行校验,也就是AuthorizationManager接口的实现方法check
SpringSecurity安全框架学习——@PreAuthorize的实现原理
以上就是Spring Security5.6版本实现@PreAuthorize注解的原理文章来源地址https://www.toymoban.com/news/detail-415025.html

到了这里,关于SpringSecurity安全框架学习——@PreAuthorize的实现原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringSecurity 安全框架详解

    先赘述一下身份认证和用户授权: 用户认证( Authentication ):系统通过校验用户提供的用户名和密码来验证该用户是否为系统中的合法主体,即是否可以访问该系统; 用户授权( Authorization ):系统为用户分配不同的角色,以获取对应的权限,即验证该用户是否有权限执行

    2024年02月02日
    浏览(40)
  • SpringBoot集成 SpringSecurity安全框架

    提示:以下是本篇文章正文内容,Java 系列学习将会持续更新 我们时常会在 QQ 上收到别人发送的钓鱼网站链接,只要你在登录QQ账号的情况下点击链接,那么不出意外,你的号已经在别人手中了。实际上这一类网站都属于 恶意网站 ,专门用于盗取他人信息,执行非法操作,

    2024年02月07日
    浏览(48)
  • SpringSecurity分布式安全框架

    Spring Security是一个基于Spring框架的安全框架,它提供了全面的安全解决方案,包括用户认证和用户授权等Web应用安全性问题。Spring Security可以轻松扩展以满足自定义需求,它的真正强大之处在于它可以轻松扩展以满足自定义要求。 对于分布式系统来说,Spring Security可以结合

    2024年02月08日
    浏览(47)
  • SpringSecurity安全框架 ——认证与授权

    目录  一、简介 1.1 什么是Spring Security 1.2 工作原理 1.3 为什么选择Spring Security 1.4 HttpSecurity 介绍🌟 二、用户认证 2.1 导入依赖与配置 2.2 用户对象UserDetails 2.3 业务对象UserDetailsService 2.4 SecurityConfig配置 2.4.1 BCryptPasswordEncoder密码编码器 2.4.2 RememberMe 记住登录信息 2.4.3 CSR

    2024年02月04日
    浏览(42)
  • SpringSecurity源码分析(一) SpringBoot集成SpringSecurity即Spring安全框架的加载过程

          Spring Security是一个强大的并且高度可定制化的访问控制框架。 它基于spring应用。 Spring Security是聚焦于为java应用提供授权和验证的框架。像所有的spring项目一样,Spring Security真正的强大在于可以非常简单的拓展功能来实现自定义的需求。       在分析SpringBoot集成的Sp

    2024年02月03日
    浏览(44)
  • 【security】java springboot项目中使用springSecurity安全框架

    springboot项目如果导入security依赖后会自动托管整个项目,前端在访问项目的任何路径时会被拦截并跳转到security默认的登录页面,登录用户名为user,密码为控制台启动项目时生成的随机密码 一、自定义设置用户的认证:创建一个配置类(类上加@Configuration),让该类继承Web

    2024年02月15日
    浏览(56)
  • SpringSecurity框架学习与使用

    引入相关的依赖,SpringBoot的版本是2.7.10; 前端页面编写,home.html、hello.html、login.html hello.html home.html login.html 视图控制,访问对应的url跳转到不同的页面 SpringSecurity配置 结果 登录失败时 登录成功 认证 上面的demo中,我们是把登录密码放在内存中记录着的,除了这种方式外我

    2024年02月02日
    浏览(36)
  • 若依框架基于@PreAuthorize注解的权限控制

    目录 一、Java注解(Annotation) 1. 概述         2. Annotation通用定义 (1)@interface (2)@Documented (3)@Target(ElementType.TYPE) (4)@Retention(RetentionPolicy.RUNTIME) 二、基于注解的权限控制 1. 数据权限  2. 角色权限         Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注

    2023年04月24日
    浏览(57)
  • 权限管理系统后端实现1-SpringSecurity执行原理概述

    spring security的简单原理: SpringSecurity有很多很多的拦截器,在执行流程里面主要有两个核心的拦截器 1,登陆验证拦截器 AuthenticationProcessingFilter 2,资源管理拦截器 AbstractSecurityInterceptor 但拦截器里面的实现需要一些组件来实现,所以就有了 AuthenticationManager认证管理器 、 ac

    2024年02月13日
    浏览(49)
  • CTF-Crypto学习记录-第四天 “ “ --- SHA1安全散列算法,实现原理。

    MD5学习MD5加密算法 SHA-1(Secure Hash Algorithm1,安全散列算法1)是一种密码散列函数。 SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。 SHA-1的历史: 2005年,密码分析人员发现了对SHA-1的有效攻击方法,这表明该算法可能不够

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包