讨论 ==== 用户,角色,权限

好名字给猪了 2015-05-02 10:16:33
加精
不明白一个用户为什么要给角色,直接给权限不就可以了吗,感觉有点重复了,
有的朋友说如果N个用户都拥有一个角色,这样操作不就简单多了吗,我想这应该是不大可能的,每个用户或多或少都会减少或者增加其他的权限。

点击管理进去提示没有权限,难道没有权限不能隐藏吗,假如有多个按钮点进去都没有权限是不是不太友好。
...全文
3096 73 打赏 收藏 转发到动态 举报
写回复
用AI写文章
73 条回复
切换为时间正序
请发表友善的回复…
发表回复
QZC78 2015-08-17
  • 打赏
  • 举报
回复
个人觉得用角色批量授权处理总比一个一个的授权好的多,另外数据量也是个问题
qqw6789567 2015-08-13
  • 打赏
  • 举报
回复
引用 66 楼 owen1759 的回复:
首先,你说的CSDN论坛的这个问题,确实对用户不太友好,但可能是出于减轻服务器压力考虑的。我比较怀疑csdn对帖子都做了静态缓存,如果确实如此的话,那它把按钮都给显示着当然方便些了,毕竟没事闲的蛋疼去点那些明显自己没权限的操作的是极少数,总比每次都做权限判断容易得多,当然,这是以牺牲用户体验为代价的。 再,关于你说的直接给用户赋权限的问题,事实恰好相反,“每个用户或多或少都会减少或者增加其他的权限”是不成立的,这种情况只会是极少数,即便现实世界,每个用户拥有的权限是因为“他是什么角色”,而不因为“他是谁”。比如你们公司的报销单由财务主管审批,张三有这个权限是因为他是财务主管的角色,而不是因为他是张三,哪天张三调到后勤部了,李四当上财务主管了,这个权限就归李四了,张三就没有了。一些复杂的系统里,一个用户可以有多个角色,比如你可能对于孩子是父亲、对于妻子是丈夫、对于公司是职员、对于中国移动是客户……你拥有的权限是不同角色赋予你的权限的合集,离开了这些角色,其实你什么都不是。
点赞!!
qqw6789567 2015-08-13
  • 打赏
  • 举报
回复
引用 61 楼 ywlaker 的回复:
角色是为了方便管理大量用户,角色的本质是把用户归类,同一类用户具有相同角色,而权限时绑定在角色上的,具有相同角色的用户自然有相同权限;同时,用户可以集多个角色于一身,以组合出更复杂的权限,这样整个系统的权限控制就很方便,不必针对用户,对角色即可,就算以后的用户种类越来越多,但角色依然只有一类。
这个解释通透明了!!!
Superziy 2015-08-13
  • 打赏
  • 举报
回复
主表和从表之间有外键关系吗?
好名字给猪了 2015-08-12
  • 打赏
  • 举报
回复
引用 59 楼 u011106669 的回复:
楼主,这个主要是根据实际项目的业务逻辑来弄的。在实际开发项目的过程中,首先一步是需求分析,需求分析完成之后进行业务分析,然后进行业务建模,最终你看到的数据库表格实际上是数据库的物理模型。在建模过程中,一般用户和角色是多对一的关系,一个角色对应着多个用户,比如业务经理这个角色,张三是,李四是,王五可能还是。普通员工,对应的人更多。在实际业务中,权限一般是按照角色来分配,权限和用户之间是一对一的映射关系。总之,用户,角色,权限是业务建模的关键组成部分,对于梳理需求帮助很大。可能单纯从技术的角度说,看不出来这些设计的重要性,但是解决实际业务问题的时候,这种设计是必要的。
引用 60 楼 variable11 的回复:
还要看用户数多少,像我们公司的SAP,用户近150,不过权限很多都不相同 ,如果角色没管理好的话,反而复杂了
赞,59,60楼,大众的想法是用户,角色,权限。但是根据前期的业务需求分析,可能会不要角色这一项,也有可能需要新增其他的‘权限’。最终的目的是操作方便,灵活,简单。 用户,角色,权限。这么认为的话,是否考虑过新增或者减少‘权限’呢,请问你们分析过界面操作,业务代码的利与弊吗。
David&Tea 2015-08-11
  • 打赏
  • 举报
回复
当然有区别了,比如一个项目,项目的老师是一个角色,项目的学生是一个角色,两种角色的权限是不一样的。
  • 打赏
  • 举报
回复
一般来说,一个系统的权限是这样做的; 1、资源 2、角色 3、用户 不同角色有不同的资源,一个用户可以有多个角色,不同角色之间的资源取并集;
owen1759 2015-08-05
  • 打赏
  • 举报
回复
首先,你说的CSDN论坛的这个问题,确实对用户不太友好,但可能是出于减轻服务器压力考虑的。我比较怀疑csdn对帖子都做了静态缓存,如果确实如此的话,那它把按钮都给显示着当然方便些了,毕竟没事闲的蛋疼去点那些明显自己没权限的操作的是极少数,总比每次都做权限判断容易得多,当然,这是以牺牲用户体验为代价的。 再,关于你说的直接给用户赋权限的问题,事实恰好相反,“每个用户或多或少都会减少或者增加其他的权限”是不成立的,这种情况只会是极少数,即便现实世界,每个用户拥有的权限是因为“他是什么角色”,而不因为“他是谁”。比如你们公司的报销单由财务主管审批,张三有这个权限是因为他是财务主管的角色,而不是因为他是张三,哪天张三调到后勤部了,李四当上财务主管了,这个权限就归李四了,张三就没有了。一些复杂的系统里,一个用户可以有多个角色,比如你可能对于孩子是父亲、对于妻子是丈夫、对于公司是职员、对于中国移动是客户……你拥有的权限是不同角色赋予你的权限的合集,离开了这些角色,其实你什么都不是。
董小姐_123 2015-08-04
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
角色是为了方便管理大量用户,角色的本质是把用户归类,同一类用户具有相同角色,而权限时绑定在角色上的,具有相同角色的用户自然有相同权限;同时,用户可以集多个角色于一身,以组合出更复杂的权限,这样整个系统的权限控制就很方便,不必针对用户,对角色即可,就算以后的用户种类越来越多,但角色依然只有一类。
variable11 2015-08-03
  • 打赏
  • 举报
回复
还要看用户数多少,像我们公司的SAP,用户近150,不过权限很多都不相同 ,如果角色没管理好的话,反而复杂了
董小姐_123 2015-08-03
  • 打赏
  • 举报
回复
董小姐_123 2015-08-03
  • 打赏
  • 举报
回复
小哥不在 2015-08-03
  • 打赏
  • 举报
回复
角色可以是权限的集合,权限也可以是角色集合。。。。。比较灵活
shuanzia 2015-07-23
  • 打赏
  • 举报
回复
又学习到了,看了楼上们的积极回复后
多木多多木 2015-07-23
  • 打赏
  • 举报
回复
楼主,这个主要是根据实际项目的业务逻辑来弄的。在实际开发项目的过程中,首先一步是需求分析,需求分析完成之后进行业务分析,然后进行业务建模,最终你看到的数据库表格实际上是数据库的物理模型。在建模过程中,一般用户和角色是多对一的关系,一个角色对应着多个用户,比如业务经理这个角色,张三是,李四是,王五可能还是。普通员工,对应的人更多。在实际业务中,权限一般是按照角色来分配,权限和用户之间是一对一的映射关系。总之,用户,角色,权限是业务建模的关键组成部分,对于梳理需求帮助很大。可能单纯从技术的角度说,看不出来这些设计的重要性,但是解决实际业务问题的时候,这种设计是必要的。
q506324275 2015-06-16
  • 打赏
  • 举报
回复
我对这个模式也不是很清楚,来看看大神解答!那用户登录的时候我怎么判断这用户是什么角色,来加载相应的权限操作页面
huanongkou 2015-06-14
  • 打赏
  • 举报
回复
角色是权限的集合
kukujiu 2015-06-14
  • 打赏
  • 举报
回复
引用 6 楼 qq_26929957的回复:
——————————————————————百度解释—————————————————————————— 权限概念 权限是对资源的一种保护访问.用户要访问A资源前提是用户必须有A资源的访问权限. 角色概念 实事上我们不会直接把权限赋予给用户,而是通过角色来赋予给用户,因为用户拥有某一种权限是因为用户扮演着某一种角色。 A 是个经理,他管理着B公司,他拥有b,c,d的权限。实际是不是A有这个权限,而是因为Abo是经理。因为经理拥有b,c,d权限,所以很显然在权限划分 上,我们会把权限赋予给某一个角色,而不是赋予给个人。这样带来的好处是如果公司换了经理,那么只要再聘用一个人来做经理就可以了,而不会出现因为权限在 个人手里导致权限被带走的情况
解释的很到位
yaoxin3512 2015-06-14
  • 打赏
  • 举报
回复
加载更多回复(53)

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧