如何删除系统权限中默认的首页节点

场景:

并没有设置过首页的配置,为什么在系统权限这里的配置菜单中却有首页的配置。而且显示当前资源未完成初始化设置,无法配置。这个文章将帮助你删除这个节点。
如何删除系统权限中默认的首页节点


注意:如果添加了以下代码,后续如果需要使用首页的配置,则需要删除该代码。

扩展权限加载节点:

遍历权限加载的节点,找到需要删除的模块首页节点。删除节点。

@Component
@Order(88)
@SPI.Service
public class MyTestNodeLoadExtend implements PermissionNodeLoadExtendApi {

    @Override
    public List<PermissionNode> buildRootPermissions(PermissionLoadContext loadContext, List<PermissionNode> nodes) {
        //删除 TopModule.MODULE_MODULE 的首页节点。
        String homepage = TranslateUtils.translateValues(PermissionNodeLoaderConstants.HOMEPAGE_DISPLAY_VALUE);
        for (PermissionNode node : nodes) {
            //如果需要删除多个模块的首页,在这里多加一个逻辑与条件即可。
            if (!(node instanceof ModulePermissionNode) || !TopModule.MODULE_MODULE.equals(((ModulePermissionNode) node).getModule())) {
                continue;
            }
            List<PermissionNode> permissionNodes = node.getNodes();
            Iterator<PermissionNode> iterator = permissionNodes.iterator();
            while (iterator.hasNext()) {
                PermissionNode permissionNode = iterator.next();
                if (ResourcePermissionSubtypeEnum.HOMEPAGE.equals(permissionNode.getNodeType())
                        && homepage.equals(permissionNode.getDisplayValue())) {
                    iterator.remove();
                    //如果是删除多个模块首页,这里的return改为break;
                    return nodes;
                }
            }
        }
        return nodes;
    }
}

看效果:首页节点成功删除。
如何删除系统权限中默认的首页节点

Oinone社区 作者:yexiu原创文章,如若转载,请注明出处:https://doc.oinone.top/dai-ma-shi-jian/20131.html

访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验

(2)
yexiu的头像yexiu数式员工
上一篇 2024年12月27日 下午3:10
下一篇 1天前

相关推荐

  • 后端:如何自定义表达式实现特殊需求?扩展内置函数表达式

    平台提供了很多的表达式,如果这些表达式不满足场景?那我们应该如何新增表达式去满足项目的需求?目前平台支持的表达式内置函数,参考 1. 扩展表达式的场景 注解@Validation的rule字段支持配置表达式校验如果需要判断入参List类型字段中的某一个参数进行NULL校验,发现平台的内置函数不支持该场景的配置,这里就可以通过平台的机制,对内置函数进行扩展。 …

    2024年5月30日
    90000
  • 左树右表,支撑不同场景的树表结构

    左树右表俩种情况 假设存在 A模型 B模型 1: 左树为A模型,右表为B模型 举例 A模型为类目 B模型为类目属性模型代码实例: @Model.model(AriesPlatformCategory.MODEL_MODEL) @Model(displayName = "平台后台类目", labelFields = "name&q…

    2024年2月20日
    92700
  • IWrapper、QueryWrapper和LambdaQueryWrapper使用

    条件更新updateByWrapper 通常我们在更新的时候new一个对象出来在去更新,减少更新的字段 Integer update = new DemoUser().updateByWrapper(new DemoUser().setFirstLogin(Boolean.FALSE), Pops.<DemoUser>lambdaUpdate()…

    2024年5月25日
    93400
  • 如何角色给菜单增加权限

    对接第三方的权限时,第三方传过来菜单项,需要拿着这些菜单在平台这边进行授权,可以使用代码的方式给指定菜单创建权限代码示例: public class demo { @Autowired private PermissionNodeLoader permissionNodeLoader; @Autowired private AuthRbacRolePermi…

    2024年11月14日
    35400
  • 推送自定义消息

    项目中添加消息依赖 pro.shushi.pamirs.core pamirs-message-api 调用pro.shushi.pamirs.message.engine.message.MessageSender#sendSystemMail发送系统消息示例: @Action(displayName = "发送消息") public …

    2024年8月19日
    60700

发表回复

登录后才能评论