Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于角色权限bug #649

Closed
Eminem-x opened this issue May 26, 2022 · 8 comments
Closed

关于角色权限bug #649

Eminem-x opened this issue May 26, 2022 · 8 comments

Comments

@Eminem-x
Copy link

Eminem-x commented May 26, 2022

Describe the bug

  1. 根据 role_key 拉取权限,会有 bug,如果同样以一个 role 其此项值误设置成 admin
    那么它将会拉取超级管理员的菜单
  2. 根据 role_key 拉取权限的后续部分查找对应菜单权限,依然逻辑有问题,会无法更新 navbar 上的菜单

To Reproduce
Steps to reproduce the behavior:

  1. 主页随意添加角色,但是在标识设置为 admin
  2. 创建此角色对应的用户,然后登录即可看到效果

Expected behavior
角色权限对应菜单未生效

Screenshots
暂无

@wenjianzhang
Copy link
Member

Describe the bug

  1. 根据 role_key 拉取权限,会有 bug,如果同样以一个 role 其此项值误设置成 admin
    那么它将会拉取超级管理员的菜单
  2. 根据 role_key 拉取权限的后续部分查找对应菜单权限,依然逻辑有问题,会无法更新 navbar 上的菜单

To Reproduce Steps to reproduce the behavior:

  1. 主页随意添加角色,但是在标识设置为 admin
  2. 创建此角色对应的用户,然后登录即可看到效果

Expected behavior 角色权限对应菜单未生效

Screenshots 暂无

问题2
没太明白什么意思?能否再详细一些?

@Eminem-x
Copy link
Author

Eminem-x commented May 27, 2022

问题2 没太明白什么意思?能否再详细一些?

关于权限的判断在代码里是根据 roleKey 判断的:(作者已解决

//检查权限
if v["rolekey"] == "admin" {
	res = true
	c.Next()
	return
}

但是数据库中并未设置这个字段不可重复,所以如果无意的将某一个普通角色命名成 admin
那么就会无视其所选的 role,而是视为 admin 去处理,我本地尝试了,会生效。
image


@wenjianzhang 另外一个问题是,当多用户登陆时,较高权限者去给较低权限者增加 navbar 上的权限时,
(navbar 是前端UI,对应的是这部分,如下图:)

image

比如:监控管理、系统工具等会无法显示(具体的忘记了),刷新也无用

@wenjianzhang
Copy link
Member

image

这里是指菜单和navbar不同步吗?或者是可以把对应的示例截个图出来更能说明问题。

@sunny086
Copy link

rolekey需要完善,做唯一性校验;
navbar是什么?

@Eminem-x
Copy link
Author

假如声明一个角色最开始具有以下权限,并且创建一个相应的用户:

image
image

可以看到因为(定时任务,系统工具等)不具有权限,所以不显示,但若去修改这个角色的权限如下:

image

再返回那个用户的页面,无论是刷新还是重新登录,都是如下结果,会有些权限无法生效:

image

很抱歉我不能去发起 pr,因为我只是在学习这个项目的逻辑,本来昨天就想截屏给作者,但是不是同一台电脑,希望有用。

@Eminem-x
Copy link
Author

Eminem-x commented May 28, 2022

rolekey需要完善,做唯一性校验; navbar是什么?
#649 (comment)
前端的UI,主要显示几个比较大的权限模块,我已经在后面补充评论了

@wenjianzhang
Copy link
Member

菜单显示的问题说明解释:
每一个功能都要至少有一个按钮,然后再赋权,页面没有按钮是不会设置显示的,因为我们默认这是一个不完整的页面;

角色key的唯一性,已经添加校验;

@Eminem-x
Copy link
Author

ok 解决

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants