el-admin 角色权限控制方式

el-admin 角色-权限

这篇博客用记录第一次使用el-admin或是除此接触角色权限控制方式编写接口。

一、环境描述

角色表

角色id角色名称角色level角色描述
1admin1管理员
2staff2职工
3visitor3游客

权限表

权限id权限内容
1所有应用接口
2前台全部应用部分
3前台游客应用部分
4后台职工应用部分

角色-授权表

角色id权限id
1{1}
2{2,4}
3{3}

这个是标准的RBAC的权限设置思路,接口的安全由权限表直接控制,之后将权限赋予对应的角色,这样用户有什么角色就有什么接口权限。


那么问题来了!!!怎么使用这种表的设计。
在这里插入图片描述
这三层就是表对应的关系。

代码实现(伪)

// java伪代码
@Controller
public Controller{
	
	@GetMapping("file")
	@hasAnyRole(["file"])
	public void fileController(){
		// 拥有file权限的角色才能使用	
	}
	
	@GetMapping("common")
	@hasAnyRole(["common"])
	public void commonController(){
		// 拥有common权限的角色才能使用	
	}
	
	@GetMapping("data")
	@hasAnyRole(["data"])
	public void dataController(){
		// 拥有data权限的角色才能使用
	}
}

通过上述图,如果用户发出接口请求,会从根据当前用户的角色寻找此角色的权限接口有哪些,最后自动判断后通过接口
所以不要再写根据当前用户角色判断业务逻辑的方式了。

注意

这个其实是利用了RCBA的权限控制的思想,如果实在是看不懂可以先去看看相关的知识。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值