首先,你说的CSDN论坛的这个问题,确实对用户不太友好,但可能是出于减轻服务器压力考虑的。我比较怀疑csdn对帖子都做了静态缓存,如果确实如此的话,那它把按钮都给显示着当然方便些了,毕竟没事闲的蛋疼去点那些明显自己没权限的操作的是极少数,总比每次都做权限判断容易得多,当然,这是以牺牲用户体验为代价的。 再,关于你说的直接给用户赋权限的问题,事实恰好相反,“每个用户或多或少都会减少或者增加其他的权限”是不成立的,这种情况只会是极少数,即便现实世界,每个用户拥有的权限是因为“他是什么角色”,而不因为“他是谁”。比如你们公司的报销单由财务主管审批,张三有这个权限是因为他是财务主管的角色,而不是因为他是张三,哪天张三调到后勤部了,李四当上财务主管了,这个权限就归李四了,张三就没有了。一些复杂的系统里,一个用户可以有多个角色,比如你可能对于孩子是父亲、对于妻子是丈夫、对于公司是职员、对于中国移动是客户……你拥有的权限是不同角色赋予你的权限的合集,离开了这些角色,其实你什么都不是。
角色是为了方便管理大量用户,角色的本质是把用户归类,同一类用户具有相同角色,而权限时绑定在角色上的,具有相同角色的用户自然有相同权限;同时,用户可以集多个角色于一身,以组合出更复杂的权限,这样整个系统的权限控制就很方便,不必针对用户,对角色即可,就算以后的用户种类越来越多,但角色依然只有一类。
楼主,这个主要是根据实际项目的业务逻辑来弄的。在实际开发项目的过程中,首先一步是需求分析,需求分析完成之后进行业务分析,然后进行业务建模,最终你看到的数据库表格实际上是数据库的物理模型。在建模过程中,一般用户和角色是多对一的关系,一个角色对应着多个用户,比如业务经理这个角色,张三是,李四是,王五可能还是。普通员工,对应的人更多。在实际业务中,权限一般是按照角色来分配,权限和用户之间是一对一的映射关系。总之,用户,角色,权限是业务建模的关键组成部分,对于梳理需求帮助很大。可能单纯从技术的角度说,看不出来这些设计的重要性,但是解决实际业务问题的时候,这种设计是必要的。
还要看用户数多少,像我们公司的SAP,用户近150,不过权限很多都不相同 ,如果角色没管理好的话,反而复杂了
——————————————————————百度解释—————————————————————————— 权限概念 权限是对资源的一种保护访问.用户要访问A资源前提是用户必须有A资源的访问权限. 角色概念 实事上我们不会直接把权限赋予给用户,而是通过角色来赋予给用户,因为用户拥有某一种权限是因为用户扮演着某一种角色。 A 是个经理,他管理着B公司,他拥有b,c,d的权限。实际是不是A有这个权限,而是因为Abo是经理。因为经理拥有b,c,d权限,所以很显然在权限划分 上,我们会把权限赋予给某一个角色,而不是赋予给个人。这样带来的好处是如果公司换了经理,那么只要再聘用一个人来做经理就可以了,而不会出现因为权限在 个人手里导致权限被带走的情况
67,514
社区成员
225,878
社区内容
加载中
试试用AI创作助手写篇文章吧