菜单权限问题

  • Choerodon平台版本:0.11.3

  • 运行环境:自主搭建

  • 问题描述:

    自定义了一个菜单 组织下的 但是赋予了组织管理员权限 却无法看到那个菜单

请问是从平台的菜单配置界面上自定义的吗? 前端界面只能自定义菜单位置和添加目录,而且目录中如果没有菜单是不会显示的。

菜单的添加需要在前端代码中添加,并且要自己指定权限代码。这个操作可以参考官方文档
http://choerodon.io/zh/docs/development-guide/front/new-func/new_page/

我就是参照这个文档配置的菜单,数据表里面也有,而且leve也是组织

那权限码是不是组织层的权限呢,可以看一下菜单的权限码,然后在平台的角色管理界面中筛选组织管理员,然后查看详情, 里面可以检查角色拥有的权限。

image 给该用户分配了组织管理员权限,然后

这里的权限标签也是对的,但是就是看不到组织下定义的菜单,但是admin是可以看到的,然后控制台查看菜单的leve确实是组织,很苦恼

进菜单配置,找到那个新加的菜单

查看详情里菜单具有的权限,然后在下面的这个表里查找一下这262个分配的权限,应该是菜单所需要的权限组织管理员没有,

这个没有添加的地方,怎么添加权限

建议您换一下菜单的权限,换成在组织管理员权限表里有的就好了,只有自定义角色可以添加权限。预定义角色是不能添加权限的,里面的权限都是后端刷进去的。

您好,我把iam_menu_permission表里的那个菜单对应的permission_code改成了一个组织下可以看到的菜单的code,这样定义的菜单出来了,但是里面的某些请求会报403

每一个接口也有对应的权限,是后端写进去的,在 管理->API管理->API测试中可以找到对应接口的权限编码


可以检查一下这两个地方是否正确。

这个地方是怎么生成的?然后它是和那个表里面的数据需要对应?我看了一下,所有的权限层级都是组织

初始化的时候配置在前端的菜单配置文件中,你可以参考下

我当时创建的时候就是按着文档一步步走的,不过确实现在出了问题,菜单这边是可以显示了,就是某些请求也不是403,而是500,控制台是这个错误

接口中必须带有organization_id 或者project_id 才能算作组织或项目层的权限。否则权限校验时会抛上面的错误。

您好,接口的权限编码,可以手动在数据库中修改吗?它是怎么生成的

直接修改code 是会重新生成的。
生成的规则为:
服务名 + controller 前缀 + action 名

需要以controller 或者endpoint 结尾才会被识别

请问直接修改是在iam_permission表中修改code吗?我修改了这个code并没有重新生成,还有那个controller前缀指的什么?

数据库中修改code,下一次服务启动的时候又会重新生成。

controller 前缀是指你的类名为xxxController 或者xxxEndpoint

也就是说就算数据库改掉了,下次服务启动的时候也会重新按照那个生成方式自动生成的对吧? 还有就是这个生成方式我这边和您描述的有点出入 比如我图中这个

image 这个就不是很符合了,还有一种就是生成了null,像下面这种image image

1、是会重新生成的没错

2、第一种生成的是对的,第二种生成为null 感觉是程序上的bug。你可以把这条code 关联的记录删掉,然后重新部署服务看会不会生成正确的。

删除的表包括iam_permissioniam_role_permissioniam_menu_permission