Shiro <shiro:hasPermission >标签不生效,shiro权限不生效原因
生活随笔
收集整理的這篇文章主要介紹了
Shiro <shiro:hasPermission >标签不生效,shiro权限不生效原因
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一個可能配置文件:shiroConfig.java沒加這個
/*** 開啟Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP掃描使用Shiro注解的類,并在必要時進行安全邏輯驗證* 配置以下兩個bean(DefaultAdvisorAutoProxyCreator和AuthorizationAttributeSourceAdvisor)即可實現此功能* @return*/@Bean@ConditionalOnMissingBeanpublic DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator(){DefaultAdvisorAutoProxyCreator advisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();advisorAutoProxyCreator.setProxyTargetClass(true);return advisorAutoProxyCreator;}/*** 開啟shiro aop注解支持.* 使用代理方式;所以需要開啟代碼支持;* @param securityManager* @return* */@Beanpublic AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(SecurityManager securityManager){AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor = new AuthorizationAttributeSourceAdvisor();authorizationAttributeSourceAdvisor.setSecurityManager(securityManager);return authorizationAttributeSourceAdvisor;}第二個可能是:標簽定義 名稱 權限
合同管理 b2b:contract
供應商合同 b2b:contract:view
添加 b2b:contract:add
編輯 b2b:contract:edit
刪除 b2b:contract:del
我沒給刪除權限,它還是在前端顯示出來,并且可以操作
原來不生效代碼:
修改后:
<shiro:hasPermission name="b2b:contract:add"><div class="layui-inline"><a class="layui-btn layui-btn-normal add_btn">添加</a></div></shiro:hasPermission><shiro:hasPermission name="b2b:contract:edit"><div class="layui-inline"><a class="layui-btn layui-btn-warm layui-btn-normal edit_btn">編輯</a></div></shiro:hasPermission><shiro:hasPermission name="b2b2:contract:del"><div class="layui-inline"><a class="layui-btn layui-btn-danger layui-btn-normal delAll_btn">刪除</a></div></shiro:hasPermission>只修改了<shiro:hasPermission name=“b2b2:contract:del”> 就好了
這是因為
第一層級權限為:【b2b:contract】,第二層級為:【b2b:contract:view】,第三層級為:【b2b:contract:add】,這個使用坑就出現了。當你使用【b2b:contract】權限時,意味著后面包含b2b:contract的都有權限了,
綜上所述,有層級關系的權限標識就有可能帶來使用的誤區。
shiro標簽的判斷方式是通過集合的包含關系判斷的,并不是通過字符串的形式
要主意匹配問題,不要存在包含問題,類似aaa 和aaab ,會導致后面標簽失效。
文章轉自
總結
以上是生活随笔為你收集整理的Shiro <shiro:hasPermission >标签不生效,shiro权限不生效原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 互联网晚报 | 10月5日 星期二 |
- 下一篇: 这是一个成长差异化的时代