[DEBUG] springboot结合shiro控制资源(按钮

2020-04-15  本文已影响0人  陆书生

之后我会再开专题分析我这个项目,目前只写一下debug。。。

更多技术文章请访问我的博客园账户:点击这里

那边会更新有关生物信息学java Web统计学理论和一些杂七杂八的记录:)

leetcode刷题记录争取日更(github):点击这里


问题描述:登录后,不同角色应该展示不同菜单。例如我的一个用户cc,属于RD(研发部门),他拥有查看所有订单权限,所以登录后应该在主页看到,他所创建的所有订单的列表。而我的另一个用户admin,属于管理员,他在登录后只需要看到欢迎页面(或者统计页面)。

知识总结

1.善用freemaker的include标签,将与权限相关的ftl模块单独放置,通过@shiro.hasPermission来引用。

2.if标签用来隐藏不需要展示在页面中的资源。

3.ShiroFilterFactoryBean 处理拦截资源文件问题。不过这次没有用到。

解决方案

1.在主页(index.ftl)中合适位置添加

2.按钮放置在菜单上,sidebar.ftl通过sys_resources表查找资源并列举(包括其child),那么表中应该保存资源的父子关系,至于显示的时候,只需要用if标签控制该父级是否显示即可。

if标签示例:

<#if node.id!=48>

</#if>

3.本来考虑过对不同的角色设置不同的successUrl,后来觉得不合适。

上一篇下一篇

猜你喜欢

热点阅读