1 无论是自己写的action还是使用了pagex生成的api,都需要在菜单管理中添加到菜单中才能访问。
要添加菜单需要搞清楚namespace和权限编码的概念, namespace是一个业务的简称,比如用户管理的namespace可以写成user 权限编码用于控制按钮和api的权限,比如 一个按钮必须有 用户的删除权限才可见,他的权限编码为 user:del user:see 查看 user:add 添加 user:update 修改 user:del删除。
2 脱坑说明
root应是顶级菜单目录,如果出现以上图中情况,在 t_ucenter_ms_menu表中 把rootid改为0即可。
3 在配置菜单前需要配置 t_ucenter_ms_menu_server 配置菜单服务器的路径,比如你basePath 路径都配置成了http://localhost/ 这里也要配置成localhost,而不是127.0.0.1 。
4 菜单配置
如果是枝菜单不是叶菜单,必填项填写#即可 连接地址规范:比如是pagex引擎自动生成的页面这么写:/ms/pagex/namespace_list.jsp 如果是使用beetl写的html这样写:/b/page-ms-demo/student 其中page,ms,和demo是三个文件夹 /b/开通代表使用beetl渲染
如果一对多,请也给子表对应的namespace配置菜单,否则权限那边会拦截导致出问题,是否隐藏选择为隐藏即可。
5 权限配置
根据自己的需求添加权限就可以了,如果没添加权限那么这个菜单无效。
6 权限判断
系统使用的shiro做权限判断,判断方法如下:
beetl引擎渲染的html 中 <#shiro name=”user:see”>
html code
</#shiro>
- JSP中
html code
</shiro:hasPermission>
后台控制器中
@RequiresPermissions(“sysMenu:see”)
其他代码中
SecurityUtils.getSubject().isPermitted(namespace + “:” + permitName);