专栏名称: 码农小胖哥
技术公众号:码农小胖哥
目录
相关文章推荐
自贡网  ·  快来!为自贡辟谣优秀作品投票! ·  7 小时前  
四川日报  ·  一觉醒来,哦豁! ·  昨天  
自贡网  ·  正式投用! ·  2 天前  
新闻君  ·  直播预告 | ... ·  2 天前  
四川日报  ·  痛心!他在18岁的最后一晚离世,家属发声 ·  2 天前  
51好读  ›  专栏  ›  码农小胖哥

Spring Security动态权限控制居然如此简单 | Java Debug 笔记

码农小胖哥  · 掘金  ·  · 2021-05-13 00:03

正文

阅读 42

Spring Security动态权限控制居然如此简单 | Java Debug 笔记

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接

之前在动态权限控制的教程中,我们通过自定义 FilterInvocationSecurityMetadataSource AccessDecisionManager 两个接口实现了动态权限控制。这里需要我们做的事情比较多,有一定的学习成本。今天来介绍一种更加简单和容易理解的方法实现动态权限控制。

基于表达式的访问控制

httpSecurity.authorizeRequests()
    .anyRequest()
    .access("hasRole('admin')")
复制代码

这种方式不用多说了吧,我们配置了表达式 hasRole('admin') 后,Spring Security会调用 SecurityExpressionRoot hasRole(String role) 方法来判断当前用户是否持有角色 admin ,进而作出是否放行的决策。这种方式除了可以静态的权限控制之外还能够动态的权限控制。







请到「今天看啥」查看全文