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”>

      1. html code
      2. </#shiro>
      • JSP中
        1. html code
        2. </shiro:hasPermission>
      • 后台控制器中

        @RequiresPermissions(“sysMenu:see”)

      • 其他代码中

        SecurityUtils.getSubject().isPermitted(namespace + “:” + permitName);