开源框架EL-ADMIN开发自己的 web应用(5)-后端权限控制

eladmin权限控制解析
本文深入解析eladmin的权限控制机制,包括权限注解的理解、用户权限携带方式、界面权限添加及后端验证过程,适合对SpringSecurity权限管理感兴趣的学习者。

第(4)节,我们已经对代码生器生成的界面“我的岗位管理”进行了优化,可以看到,与原eladmin的“岗位管理”基本一致,现在我们来看看eladmin是怎么定义权限控制的,并且如何应用到自己的界面当中。

1. 权限注解理解

首先用IDEA打开后端“我的岗位管理”的gen模块中的rest层(也就是Controller层),如下图:
在这里插入图片描述

可以看到标红的注解@PreAuthorize("@el.check(‘myJob:list’)"),这是什么意思呢?在IDEA环境下,按住ctrl键点击@el.check,可以看到源代码如下:
在这里插入图片描述
这里看到注解对应函数check()中定义了一个elPermissions,它是一个List类型,由源代码的定义很容易可以推断出,它就是获取当前登录用户具有的权限,这个权限放在List集合中。再观察return 的内容,elPermissions.contains(“admin”) || Arrays.stream(permissions).anyMatch(elPermissions::contains),这是一个"或"的表达式,只要满足其一就可以通过,通过英文可以推断:

  • elPermissions.contains(“admin”) 表明只要是超级管理员admin就判断为true,admin具有一切权限;
  • Arrays.stream(permissions).anyMatch(elPermissions::contains)表明只要登录用户具有”myJob:list“这
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值