当前位置: 代码迷 >> Java Web开发 >> 用户登录权限有关问题
  详细解决方案

用户登录权限有关问题

热度:1030   发布时间:2013-02-25 21:06:15.0
用户登录权限问题
为什么要设置权限一个范围内,而不是具体值。比如10以内是普通用户,10以上是管理员,20以上是超级管理员?求解
定义好级别就好了 根据自己的范围
跟你的想法走
引用:
为什么要设置权限一个范围内,而不是具体值。比如10以内是普通用户,10以上是管理员,20以上是超级管理员?求解

这个是项目需求和架构需要 提前设计的。
问的挺好。
我考虑的话,也会设计成 区间的,这样方便以后权限的扩展。
优先考虑 管理员。10-20
管理员的权限都一样么? 不一定, 一套增删改,可能 管理员1 只有增加的权限,管理员2 有增加和删除的权限。 这样 区间内还能定义。方便程序员编码。

引用:
那超级管理员的权限一定大于普通用户啦,具体权限的id不高于用户权限值就代表这个用户拥有这个权限,反之就没有,这句话不是有矛盾吗?超级管理员肯定可以拥有普通用户的权限和所有操作资格啊 

并不矛盾,没做过电子商务平台吧?
用户 是普通用户权限, 管理员按道理比普通用户权限高,但是,不可能让管理员 去操作 用户的买卖吧。权限高,不代表能操作权限低的功能.

其实   每个项目都各自不同,具体都是需求和架构定的,你最好问问你们的架构为什么这么设计,这么设计必然有他的道理。和我之前理解的权限的实现方式不太一样。我目前是控制url的,利用资源表储存,角色表里面的角色拥有资源。之后用户属于某个角色,看了你的感觉就是固定好了一些东西吧,扩展起来应该没这种方法好,但是比较好实现吧。。。
然后回到你说的用区间表示就是为了不同的角色设计的吧。同样是经理,拥有的权限也不一样,就是管的不一样。不能设置死了。
引用:
引用:因为这些权限是层次结构的,具体权限的id不高于用户权限值就代表这个用户拥有这个权限,反之就没有。
这样设计可以让权限判断变得十分简单,这是面向过程编程常用的技巧。那超级管理员的权限一定大于普通用户啦,具体权限的id不高于用户权限值就代表这个用户拥有这个权限,反之就没有,这句话不是有矛盾吗?超级管理员肯定可以拥有普通用户的权限和所有操作资……

所谓超级管理员、普通用户,这是角色,而具体权限是指增、删、改、查操作的权限,这两个要区别开看待。在数据库中建立权限表、角色表 、用户表 什么都解决了 要什么权限从数据库中读取       说个很简单的例子,就像一个公司,有BOSS,有老大,有员工,还有清洁员, 等级不同,权限也不同,不可能一个清洁员有BOSS的权限, 你说的,就是在那个范围之内是BOSS 因为有些公司不可能只有一个BOSS,按理推下去,老大、员工、等等因为这些权限是层次结构的,具体权限的id不高于用户权限值就代表这个用户拥有这个权限,反之就没有。
这样设计可以让权限判断变得十分简单,这是面向过程编程常用的技巧。直接在数据库里设计一个用户权限表。 0 是超级管理员。  多少到多少的ID范围内,是某种权限,这样岂不是很简单?没有必然的好不好,对于项目,只有适合不适合,
要是一个小项目,就几个功能,不用互相监督,等级严格 ,就是一级管理一级,设计成 1.2.3 也是可以的,方便以后维护。 
恩恩。。。
  相关解决方案