请问下框架的菜单权限和接口权限问题

Blade 未结 1 309
cutler
cutler 剑者 2024-02-28 17:02
悬赏:10

一、该问题的重现步骤是什么?

  1.  请问下框架可以实现精确到按钮级别的菜单权限控制吗?为什么我去掉菜单下某一个按钮,比如新增或修改,用户登录菜单就直接不显示了?不应该是前端该按钮不见,以及对应的接口没有权限访问吗?

  2. 这个框架怎么实现上述功能呢?就是分配了菜单权限,就分配了接口权限,粒度可以到达按钮级别,或者说按钮的接口权限跟着菜单的按钮权限绑定,这些功能要怎么实现呢?

  3. 还有有些公共接口,比如修改和新增都需要这个接口,那怎么设置或分配这个接口的权限呢?

  4. 感觉这个框架的权限做得不是很好,其他都挺好的。权限不好用,主要是分离出了接口权限,用户是不理解这种权限的。分配了菜单,怎么知道这些菜单要用到哪些接口呢?

二、你期待的结果是什么?实际看到的又是什么?

接口权限和菜单权限绑定,用户只需要分配菜单。菜单权限精确到按钮级别,当对某一个菜单下的新增或者修改功能不分配时,前端不显示新增或者修改按钮,并且用户无法访问后端的新增和修改接口。

现在的情况是当取消分配菜单下任一按钮功能时,菜单就不显示了。按钮的菜单权限控制无法得到验证。另外,分配菜单权限时,不知道要分配哪些接口权限,用户不理解接口权限,导致分配了菜单无法使用。


三、你正在使用的是什么产品,什么版本?在什么操作系统上?

bladex-boot,saber3,windows

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

1条回答
  • 菜单的数据和按钮的数据是分开的两个接口获取的,按钮的权限判断在前端。

    你可以断点调试下这两个接口返回的具体数据:

    org.springblade.system.controller.MenuController#routes

    org.springblade.system.controller.MenuController#buttons

    接口权限是控制具体角色有没有访问接口的权限,通过加@PreAuth注解来实现。

    0 讨论(1)
提交回复