用户
 找回密码
 入住 CI 中国社区
搜索
楼主: Rabbit_52
收起左侧

[权限控制] 一个权限控制的思路,参考各位大神的,求评价

  [复制链接]
 楼主| 发表于 2012-4-21 08:36:31 | 显示全部楼层
testabc111 发表于 2012-4-20 17:26
思路没错,我们开发系统也差不多类似的思路。

总得来说,可以分为URI的权限和细节权限。

嗯嗯,谢谢回复
发表于 2012-4-22 10:31:14 | 显示全部楼层
我公司做那个后台,权限是用通过class/function来控制的,每添加的用户都加上不同的action这样做很灵活
 楼主| 发表于 2012-4-22 10:40:01 | 显示全部楼层
huang 发表于 2012-4-22 10:31
我公司做那个后台,权限是用通过class/function来控制的,每添加的用户都加上不同的action这样做很灵活 ...

身份比较单一的权限控制用这个比较好做,我觉得,但是用户身份复杂了,这个就不好控制了
发表于 2012-4-22 10:49:51 | 显示全部楼层
Rabbit_52 发表于 2012-4-22 10:40
身份比较单一的权限控制用这个比较好做,我觉得,但是用户身份复杂了,这个就不好控制了 ...

一样的,如果你对每个用户限制class/fucnction这样,你能限制到用户访问每个方法,也可以设置不能访问这个类,总之很灵活,每增加类方法时,也不用去修改其他代码,权限的生成像是java的反射那样扫描出来的,然后来一个选择哪个action给用户就行了
 楼主| 发表于 2012-4-22 10:54:26 | 显示全部楼层
huang 发表于 2012-4-22 10:49
一样的,如果你对每个用户限制class/fucnction这样,你能限制到用户访问每个方法,也可以设置不能访问这 ...

但是有这种情况呀,方法收到不同的参数,可能决定用户有没有权限
发表于 2012-4-22 11:16:02 | 显示全部楼层
Rabbit_52 发表于 2012-4-22 10:54
但是有这种情况呀,方法收到不同的参数,可能决定用户有没有权限

晕,如果搞权限,就不要弄什么参数来决定这个权限,一切以数据库的数据为准。如果你说的那个参数只能是uid,其他不要搞那么特别
 楼主| 发表于 2012-4-22 11:44:15 | 显示全部楼层
huang 发表于 2012-4-22 11:16
晕,如果搞权限,就不要弄什么参数来决定这个权限,一切以数据库的数据为准。如果你说的那个参数只能是ui ...

比如说嘛,一个帖子是一个用户的,他和管理员能删除,这个怎么弄?
发表于 2012-4-22 12:53:15 | 显示全部楼层
Rabbit_52 发表于 2012-4-22 11:44
比如说嘛,一个帖子是一个用户的,他和管理员能删除,这个怎么弄?

管理员不用检查权限,用户才检查权限
 楼主| 发表于 2012-4-22 16:01:27 | 显示全部楼层
huang 发表于 2012-4-22 12:53
管理员不用检查权限,用户才检查权限

用户肯定占大多数嘛,只用类名和方法名这样就控制不了了
发表于 2012-7-1 22:30:35 | 显示全部楼层
Rabbit_52 发表于 2012-4-22 11:44
比如说嘛,一个帖子是一个用户的,他和管理员能删除,这个怎么弄?

url貌似只用来判断是否要权限判断吧,内部细节才觉得是否拥有权限。比如article/delete/1,这样的需要执行权限判断,内部细节可以判断当前用户是否作者或管理员。当然权限可能不是这么单一的,可能会有父子关系等。

本版积分规则