栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Security权限注解@PreAuthorize通俗讲解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Security权限注解@PreAuthorize通俗讲解

写在前面:后端就是后端,后端接口权限和前端可以想成没有任何关系,千万不要被所谓的路由、所谓的那些按钮、权限标识在哪个菜单下所迷惑(只要保证接口权限字符串在用户菜单权限下即可,除此之外,在哪个菜单或按钮都行)!(后端的我们就用接口测试工具测试,所以不要被前端界面的这些东西所迷惑)
图1
简单举例子说,后端有这么一个接口,图2,这个权限标识不一定非得放在图1所示的菜单下才起作用。比如admin用户拥有所有菜单的权限,那么你将test: one:testForm:list放到任何一个菜单下,用户admin都可以访问这个list接口,但是不能放到某个用户没有权限的菜单下。再换种说法就是,当一个用户登录的时候,会获得该用户能看到的菜单权限,只要你的接口权限标识在这个用户能看到的菜单下(任何一个地方),那么你带着这个用户的token用postman测试后端list接口,就可以访问,如图3所示,相反则不行。

图2

图3
补充知识点:

图4
图4有三个权限字符串,是或的关系,也就是说,你的用户token(该用户所拥有的菜单)里边有这三个权限字符串的任何一个都可以访问queryById接口。
前端权限讲解(后续看了看前端,最终的补充)
将后端传回的permissions存到本地缓存,将前端的权限字符串遍历对比本地缓存的permissions列表,若存在,则显示该前端按钮,若不存在,则不显示。说白了,不管是后端接口的权限还是前端按钮的权限都是在和数据库做对比,菜单只是起到了限制用户permissions数量。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/918849.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号