当前位置:编程学习 > JAVA >>

关于用户权限控制的问题

我想设计个用户权限控制的功能模块,再网上看了几篇文章 现在总结以下几张表:
1、用户表
2、角色表
3、权限表
4、菜单表
5、用户角色关联表
6、角色权限关联表
7、权限菜单关联表

首先通过 角色查询 权限,根据 权限ID查询菜单,就是这样的流程,但是不明白的是,权限是不是需要一个专门的页面 创建,然后然后给某一个权限添加属于的菜单,是不是每添加一个 菜单就要同时往权限管理表里面添加一条记录啊 , --------------------编程问答-------------------- 还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。 --------------------编程问答--------------------
引用 1 楼 fengmy11 的回复:
还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。 --------------------编程问答-------------------- 自己顶一下 ,等待大神搭救。 --------------------编程问答-------------------- 1、你可以根据用户的权限显示他对应的菜单(权限菜单关联表、角色权限关联表)来达到权限控制这种功能,这种权限控制比较简单。
2、还有其他的,再说一种,就是在方法上面用注解指定权限,通过filter之类的先拦截方法对应的annotation上面的权限,看用户是否有这个权限,如果有就通过,没有就跳到其他页面。
3、还有就是用spring的权限拦截。
。。。 --------------------编程问答--------------------
引用 4 楼 zhongxianyao 的回复:
1、你可以根据用户的权限显示他对应的菜单(权限菜单关联表、角色权限关联表)来达到权限控制这种功能,这种权限控制比较简单。
2、还有其他的,再说一种,就是在方法上面用注解指定权限,通过filter之类的先拦截方法对应的annotation上面的权限,看用户是否有这个权限,如果有就通过,没有就跳到其他页面。
3、还有就是用spring的权限拦截。
。。。


我有点没有明白,就是加入我现在修改一个角色:管理员,然后出来了对应的模块,如图:

右边出来了好多的模块菜单等,然后选择提交,有两个问题不太明白,
1、右边的模块菜单是从菜单表里面查询出来的,还是从权限菜单表里面查询出来的?
2、权限菜单关联表里的数据是什么时候添加进去的,是我给角色赋予权限的时候点击保存是插入到表里面的吗? --------------------编程问答-------------------- 1、从权限菜单中显示出来
2、赋予权限的时候插入 --------------------编程问答--------------------
引用 6 楼 zhongxianyao 的回复:
1、从权限菜单中显示出来
2、赋予权限的时候插入


从权限菜单表总查询出来 ? 赋予权限的时候再插入进入 ? --------------------编程问答--------------------
引用 2 楼 mymy1052706828 的回复:
Quote: 引用 1 楼 fengmy11 的回复:

还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。


按照你这种设计方式,其实不需要权限,只需要给用户分配菜单就可以了。在权限控制不需要太严谨的情况下,可以满足需求了。
我之前说的权限是基于访问控制的,不管是不是通过菜单访问,都要对权限进行判断。 --------------------编程问答--------------------
引用 8 楼 fengmy11 的回复:
Quote: 引用 2 楼 mymy1052706828 的回复:

Quote: 引用 1 楼 fengmy11 的回复:

还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。


按照你这种设计方式,其实不需要权限,只需要给用户分配菜单就可以了。在权限控制不需要太严谨的情况下,可以满足需求了。
我之前说的权限是基于访问控制的,不管是不是通过菜单访问,都要对权限进行判断。


真的不知道  权限表 有什么用  --------------------编程问答--------------------
引用 9 楼 mymy1052706828 的回复:
Quote: 引用 8 楼 fengmy11 的回复:

Quote: 引用 2 楼 mymy1052706828 的回复:

Quote: 引用 1 楼 fengmy11 的回复:

还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。


按照你这种设计方式,其实不需要权限,只需要给用户分配菜单就可以了。在权限控制不需要太严谨的情况下,可以满足需求了。
我之前说的权限是基于访问控制的,不管是不是通过菜单访问,都要对权限进行判断。


真的不知道  权限表 有什么用 


权限表是拿来做权限验证控制的。比如我没被分配这个菜单,但是我通过url直接访问,这时需要阻止访问的。 --------------------编程问答--------------------
引用 10 楼 fengmy11 的回复:
Quote: 引用 9 楼 mymy1052706828 的回复:

Quote: 引用 8 楼 fengmy11 的回复:

Quote: 引用 2 楼 mymy1052706828 的回复:

Quote: 引用 1 楼 fengmy11 的回复:

还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。


按照你这种设计方式,其实不需要权限,只需要给用户分配菜单就可以了。在权限控制不需要太严谨的情况下,可以满足需求了。
我之前说的权限是基于访问控制的,不管是不是通过菜单访问,都要对权限进行判断。


真的不知道  权限表 有什么用 


权限表是拿来做权限验证控制的。比如我没被分配这个菜单,但是我通过url直接访问,这时需要阻止访问的。


我的那 七张表的设计,你能理解吗 ?假如是你的话 ,你会怎样处理   权限菜单关联表的数据呢 ? 什么时候插入数据呢 ? --------------------编程问答--------------------
引用 11 楼 mymy1052706828 的回复:
Quote: 引用 10 楼 fengmy11 的回复:

Quote: 引用 9 楼 mymy1052706828 的回复:

Quote: 引用 8 楼 fengmy11 的回复:

Quote: 引用 2 楼 mymy1052706828 的回复:

Quote: 引用 1 楼 fengmy11 的回复:

还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。


按照你这种设计方式,其实不需要权限,只需要给用户分配菜单就可以了。在权限控制不需要太严谨的情况下,可以满足需求了。
我之前说的权限是基于访问控制的,不管是不是通过菜单访问,都要对权限进行判断。


真的不知道  权限表 有什么用 


权限表是拿来做权限验证控制的。比如我没被分配这个菜单,但是我通过url直接访问,这时需要阻止访问的。


我的那 七张表的设计,你能理解吗 ?假如是你的话 ,你会怎样处理   权限菜单关联表的数据呢 ? 什么时候插入数据呢 ?


权限表单独维护,并且权限与权限之间有关联关系,菜单维护时关联一个权限就可以解决了。角色分配菜单的时候,同时把对应菜单的权限以及子权限分配给角色。
我之前做权限模块不是分配菜单的,而是直接分配权限,只要所分配的权限被关联了菜单,菜单就会出来。 --------------------编程问答-------------------- 谢谢 了,mei

引用 12 楼 fengmy11 的回复:
Quote: 引用 11 楼 mymy1052706828 的回复:

Quote: 引用 10 楼 fengmy11 的回复:

Quote: 引用 9 楼 mymy1052706828 的回复:

Quote: 引用 8 楼 fengmy11 的回复:

Quote: 引用 2 楼 mymy1052706828 的回复:

Quote: 引用 1 楼 fengmy11 的回复:

还有用户权限表(特殊分配权限)。而且权限跟菜单不是一一对应的,比如公共菜单就不需要权限,有权限也不一定有菜单。


我现在不明白的是,我可以通过用户拥有的角色ID ,从角色权限表中查询权限ID,然后根据权限ID查询菜单,但是 这个权限菜单关联表的数据是什么时候添加的,是从哪里来的?  是每添加一个菜单就同步往权限菜单关联表中添加一条关联记录吗 ?  比如说下面这个图:

给测试员赋予下面这些权限, 下面的这些模块是从 菜单表中查询出来的,还是从权限菜单关联表中查询出来的,我是不是还需要有个专门创建和管理权限的页面,就像关联角色一样。


按照你这种设计方式,其实不需要权限,只需要给用户分配菜单就可以了。在权限控制不需要太严谨的情况下,可以满足需求了。
我之前说的权限是基于访问控制的,不管是不是通过菜单访问,都要对权限进行判断。


真的不知道  权限表 有什么用 


权限表是拿来做权限验证控制的。比如我没被分配这个菜单,但是我通过url直接访问,这时需要阻止访问的。


我的那 七张表的设计,你能理解吗 ?假如是你的话 ,你会怎样处理   权限菜单关联表的数据呢 ? 什么时候插入数据呢 ?


权限表单独维护,并且权限与权限之间有关联关系,菜单维护时关联一个权限就可以解决了。角色分配菜单的时候,同时把对应菜单的权限以及子权限分配给角色。
我之前做权限模块不是分配菜单的,而是直接分配权限,只要所分配的权限被关联了菜单,菜单就会出来。


谢谢了,没太明白。不知道 权限菜单关联表的数据是什么时候插入进去的 ,是不是单独有个权限的页面来,让一个权限关联多个功能模块? --------------------编程问答-------------------- 这里有些权限系统的资料,可以看看
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,