@PreAuthorize
首先我们打开@PreAuthorize注解的源码,然后按住Ctrl并单击PreAuthorize,可以看到在EnableMethodSecurity注解中有引用
(本文使用IDEA,后续不再复述)
@EnableMethodSecurity
查看EnableMethodSecurity源码,可以到,其引用了MethodSecuritySelector
MethodSecuritySelector
按照惯例,打开MethodSecuritySelector
PrePostMethodSecurityConfiguration
可以看到,当prePostEnabled=true时,会注入PrePostMethodSecurityConfiguration,而在PrePostMethodSecurityConfiguration中会各类型拦截器进行注入,其中包括了PreAuthorize,也包括了postAuthorize等,那我们本节专门针对@preAuthorize注解进行学习,所以我们找到这段代码:文章来源:https://www.toymoban.com/news/detail-415025.html
可以进一步找到PreAuthorizeAuthorizationManager(预授权方法管理器),在预授权处理器中,要分两步讲解,第一是缓存,当某个请求方法第一次被请求时,会执行下面代码,之后则直接从缓存中获取(缓存实现原理请自行查看源码,严重超纲)。
第二是进行校验,也就是AuthorizationManager接口的实现方法check
以上就是Spring Security5.6版本实现@PreAuthorize注解的原理文章来源地址https://www.toymoban.com/news/detail-415025.html
到了这里,关于SpringSecurity安全框架学习——@PreAuthorize的实现原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!