spring boot shiro动态权限验证

图片说明

@RequiresPermissions注解的方式只能验证固定的权限,如果权限是动态改变的需要怎样去做验证?

图片中是我现在想到的解决方法,不过需要每个方法都要去事先调用一次这个方法,请问还有更好一点的解决方式吗?

2个回答

可能我问的方式不对,我这边的业务场景是多导航公用一个页面进行编辑,编辑调用的也都是同一个接口,
要给这些导航进行权限控制,所以应该只能每次进行编辑的时候去判断一次有没有操作这个导航的权限

当然有,你上面这段代码其实shiro内部已经提供了类似的实现。shiro提供了认证,授权两个接口供开发者自行实现逻辑。
根据你的要求,你只需要在授权接口中指定当前登陆用户可以访问的所有perm,就可以了,剩下的会由shiro完成

xiaoming120915
MLi_hb 不需要,shiro会拦截你所有的路径,然后判断这个路径访问类型是anon/authc……,前提是你要实现告知shiro哪些路径可以匿名访问,哪些需要授权
5 个月之前 回复
qq_33741933
OPtimist_CD 这样做的话还需要在控制层加注解@RequiresPermissions验证吗
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问