Isis 1.16.2:如何通过menubars.layout.xml配置安全模块菜单?
解决Isis 1.16.2安全模块菜单显示在Other未关联操作的问题
别担心,这个问题是因为Isis默认会把未在菜单布局中关联的模块操作归类到「Other」菜单的「未关联操作」里。咱们只需要在你已经在用的menubars.layout.xml里手动配置安全模块的菜单结构,就能把这些操作放到指定的菜单下了。
具体配置步骤:
- 打开你的
menubars.layout.xml文件,在现有菜单配置的基础上,添加一个专门的安全管理菜单区域,把安全模块提供的菜单组件关联进去。 - 参考下面的配置示例:
<menubars xmlns="http://isis.apache.org/layout/menubars" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://isis.apache.org/layout/menubars http://isis.apache.org/layout/menubars/menubars.xsd"> <!-- 这里保留你已有的其他菜单配置 --> <!-- 新增安全管理顶级菜单 --> <menu name="安全管理" id="security"> <section name="用户与角色管理"> <!-- 关联用户管理菜单(对应「所有用户」等操作) --> <menu-item objectType="org.isisaddons.module.security.dom.menu.ApplicationUserMenu"/> <!-- 关联角色管理菜单(对应「所有角色」等操作) --> <menu-item objectType="org.isisaddons.module.security.dom.menu.RoleMenu"/> </section> <section name="权限配置"> <!-- 关联权限项管理菜单 --> <menu-item objectType="org.isisaddons.module.security.dom.menu.PermissionMenu"/> <!-- 关联权限包管理菜单(对应「所有权限包」等操作) --> <menu-item objectType="org.isisaddons.module.security.dom.menu.PermissionPackageMenu"/> </section> </menu> <!-- 保留Other菜单(autoInclude设为true会自动收集未关联的操作,可选) --> <menu name="Other" id="other" autoInclude="true"/> </menubars>
配置说明:
- 每个
<menu-item>的objectType对应的是安全模块内置的菜单类全限定名,这些类负责组织对应的安全操作(比如RoleMenu就包含了「所有角色」「创建新角色」等操作)。 - 你可以根据自己的需求修改菜单和分区的名称(比如把「安全管理」改成「系统管理」),也可以调整菜单的层级结构。
- 配置完成后,重启你的Isis应用,安全模块的所有操作就会显示在你新建的「安全管理」菜单下,不会再出现在Other菜单的未关联操作里了。
内容的提问来源于stack exchange,提问作者Jane
相关产品推荐
相关产品推荐

