spring security中可以通过表达式控制方法权限:

  • @PreAuthorize
  • @PostAuthorize
  • @PreFilter
  • @PostFilter

其中前两者可以用来在方法调用前或者调用后进行权限检查,后两者可以用来对集合类型的参数或者返回值进行过滤。

使用@PreAuthorize和@PostAuthorize进行访问控制

@PreAuthorize可以用来控制一个方法是否能够被调用

Controller层

    /*** 根据用户编号获取详细信息*/@PreAuthorize("@ss.hasPermi('system:user:query')")@GetMapping(value = { "/", "/{userId}" })public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId){.........}

对应service层

@Service("ss")
public class PermissionService
{   /*** 验证用户是否具备某权限* * @param permission 权限字符串* @return 用户是否具备某权限*/public boolean hasPermi(String permission){}
}

@PreAuthorize("@ss.hasPermi(‘system:user:query’)")表示:

  • @ss标签对应的PermissionService
  • hasPermi方法
  • 传入参数为system:user:query,表示用户的查询权限

@PostAuthorize目前并没有碰到

使用@PreFilter和@PostFilter进行过滤

使用@PreFilter和@PostFilter可以对集合类型的参数或返回值进行过滤。

使用@PreFilter和@PostFilter时,Spring Security将移除使对应表达式的结果为false的元素。
目前碰到的不多。

springSecurity标签,特别是@PreAuthorize相关推荐

  1. echart纵坐标标签特别长换行显示

    纵坐标 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ...

  2. 项目权限管理大纲(RBAC+SpringSecurity)

    这里写目录标题 资源,权限,角色,用户 RBAC 数据表设计 SpringSecurity配合RBAC补全权限验证 背景: 基本实现步骤 实现记住我功能 实现SpringSecurity版验证码登录 ...

  3. SpringSecurity

    SpringSecurity SpringSecurity概述 SpringSecurity编程起步 CSRF访问控制 扩展登录和注销功能 获取认证与授权信息用户认证成功后 基于数据库实现用户登录 基 ...

  4. python条形图一直长_条形图的坐标轴标签过长,怎么优化更美观呢?

    今日分享主题:当条形图标签过长,该怎么优化呢? 先说明下:本文操作使用的是2019版本,2013版本以上操作界面也差不多.如果是2013以下版本,操作界面可能会有差异,但功能都有,要自己找找. 昨天的 ...

  5. day07【后台】SpringSecurity

    day07[后台]SpringSecurity 1.权限控制框架 1.1.SpringSecurity 框架简介 用户登录系统时我们协助 SpringSecurity 把用户对应的角色. 权限组装好, ...

  6. html什么是语义化,什么是html语义化,HTML5新增标签有哪些

    1.什么是语义化标签?(就是用合理.正确的使用标签来展示内容) 那么什么叫做语义化呢,说的通俗点就是:明白每个标签的用途(在什么情况下我可以使用这个标签才合理)比如, 网页上的文章的标题就可以用标题标 ...

  7. SpringScerity的使用

    SpringScerity的使用 1.1 加入SpringSecurity依赖 <dependency><groupId>org.springframework.securit ...

  8. day09【后台】权限控制-下

    day09[后台]权限控制-下 1.目标5:密码加密 1.1.修改数据库表结构 由于之前使用MD5加密,密码字段长度为32位:现采用带盐值的加密,需要修改密码字段的长度 顺带把密码也改了 1.2.注入 ...

  9. Spring Security使用数据库登录认证授权

    一.搭建项目环境 1.创建 RBAC五张表 RBAC,即基于角色的权限访问控制(Role-Based Access Control),就是用户通过角色与权限进行关联. 在这种模型中,用户与角色之间,角 ...

最新文章

  1. oracle读书记录
  2. Xamarin无法调试Android项目
  3. 国家自然基金标书申报体会
  4. #1176 : 欧拉路·一(欧拉通路的判定)
  5. 算法竞赛入门经典 第七章 总结
  6. louvian算法 缺点 优化_黑帽SEO、快排、白帽SEO的介绍与优缺点的对比
  7. ios并发会造成什么问题_女生月经不调会引起什么并发症?
  8. 高速PCB设计规范(二)
  9. 从零开始搭建一个群管机器人
  10. 软件系统服务器端要求用千兆宽带,【硬核分享】升级千兆网络而速度却达不到?这些操作你做对了吗?...
  11. 二级域名指向同一ip的不同端口
  12. photoshop图层解锁及不能解锁的原因
  13. 微博模拟登陆之验证码的解决方法
  14. 2021-02-05仅供自己参考:多态使用
  15. 英语学习单词篇(16)
  16. SitePoint播客#47:将死苹果
  17. 四款5000元左右亲民热销超级本推荐
  18. 检测实验室实施LIMS系统可以给实验室带来哪些改变?
  19. java if 定义变量赋值_Java中简单的操作(if语句、常用操作符、switch语句、变量赋值等)...
  20. Python之Urllib使用

热门文章

  1. 游戏开发入门(四)逻辑与脚本开发
  2. JS复制图片到剪切板
  3. 声控开关电路原理图-门电路、限流电阻应用经典分析
  4. 5G QoS控制原理专题详解(7)-Default QoS Flow探秘
  5. matlab计算prc曲线auc面积,ROC曲线和AUC面积计算 matlab
  6. SpringBoot微信各应用统一账号信息登录开发 + 微信公众测试号开发
  7. Golang_实战_连接redis
  8. redis中key的各种通用操作(六)
  9. 在英语中什么词可以用作定语
  10. 计算机考研369,369和199考研数学的区别 考研王一鸣老师为你解析!