锁定老帖子 主题:RailsGACL手册(介绍)
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-24
freeboat 写道 jack 写道 你例子中提到的是版面访问,那么比如这样的需求,我的博客上有篇草稿,需要几个好友帮助修改下.那么我首先需要对这篇草稿针对这几个好友,设置读权限,回复权限,甚至修改权限.这样的需求,怎么能够在尽量不破坏原先系统的结构上,加入RailsGACL的控制呢? 不破坏原先系统的结构 我想是做不到吧? 有能做到的吗? 或者我不是很理解你的意思。 代码是一定要修改的,不过由于加入新的功能,项目结构是否会发生变化就很难说了.比如以ruby来说,最方便的插入功能代码就是用mixin方式了.你这个GACL框架是否也是提供类似这种方式的访问方法呢?如果因为加入个GACL,导致项目基本上要重写.这个任谁都要三思而后行了. |
|
返回顶楼 | |
发表时间:2006-10-24
我已经在好多个系统中应用过这个权限管理系统(php版\java版),总的来说还是比较满意的。他对权限的控制真的是非常的精细。
我们大部分开发的系统都是我们自用的,所以在权限管理起来没有什么难度,其中也有一套为客户制作的(进销存),客户在使用这套权限系统为自己的员工分配权限的时候也是没遇到什么操作问题,所以在操作上还是容易让人理解的。 我在使用它的时候 多数是对 菜单的控制,并没有精确到action等(我们是内网自用的办公系统),像 jack 所说的对动态添加的文章动态的设置权限,可能就要做一些特殊的修改了。 这个系统中基础的是 Aro Axo Aco 的设置,具体的权限设置在 Acl 处,所以,实现 jack 的想法也是不无可能的,但不做改动或许就会变得很难。 PS.在这个论坛里我觉得我的想法有时候很肤浅,也讲不出什么大道理,只求向各位多多学习。 |
|
返回顶楼 | |
发表时间:2006-10-24
freeboat 写道 我已经在好多个系统中应用过这个权限管理系统(php版\java版),总的来说还是比较满意的。他对权限的控制真的是非常的精细。
我们大部分开发的系统都是我们自用的,所以在权限管理起来没有什么难度,其中也有一套为客户制作的(进销存),客户在使用这套权限系统为自己的员工分配权限的时候也是没遇到什么操作问题,所以在操作上还是容易让人理解的。 我在使用它的时候 多数是对 菜单的控制,并没有精确到action等(我们是内网自用的办公系统),像 jack 所说的对动态添加的文章动态的设置权限,可能就要做一些特殊的修改了。 这个系统中基础的是 Aro Axo Aco 的设置,具体的权限设置在 Acl 处,所以,实现 jack 的想法也是不无可能的,但不做改动或许就会变得很难。 PS.在这个论坛里我觉得我的想法有时候很肤浅,也讲不出什么大道理,只求向各位多多学习。 看的出来,你这个GACL的主要应用还在于静态对象的权限管理.那原系统受限对象上附加一个GACL对象来做权限控制的这样的做法,只要受限对象是始终存在的,静态的.应该没有什么问题.比如javaeye的每一个帖子上附上一个GACL对象,作单独控制.就可能不是那么方便了.不知道我这样理解是否正确呢? |
|
返回顶楼 | |
发表时间:2006-10-24
jack 写道 freeboat 写道 jack 写道 你例子中提到的是版面访问,那么比如这样的需求,我的博客上有篇草稿,需要几个好友帮助修改下.那么我首先需要对这篇草稿针对这几个好友,设置读权限,回复权限,甚至修改权限.这样的需求,怎么能够在尽量不破坏原先系统的结构上,加入RailsGACL的控制呢? 不破坏原先系统的结构 我想是做不到吧? 有能做到的吗? 或者我不是很理解你的意思。 代码是一定要修改的,不过由于加入新的功能,项目结构是否会发生变化就很难说了.比如以ruby来说,最方便的插入功能代码就是用mixin方式了.你这个GACL框架是否也是提供类似这种方式的访问方法呢?如果因为加入个GACL,导致项目基本上要重写.这个任谁都要三思而后行了. 其实 使用 RailsGacl 的过程不过是调用 acl_check 这个方法,然后他会给你返回 true or false 其他的设置权限 如果 自带的设置正合你意,当然刚刚好,不过 我想管理员如果不是开发员的话 这个自带的设置还是不要给用户使用的好,因为多数时候我们的 Aco(访问控制对象) 都会写死到逻辑中, 例如 acl_check '系统维护','添加用户','人事处','李刚' 其中的 “系统维护”,“添加用户” 一般情况下都是写在 action 中的 不是吗? 至少我目前还没有动态用过。 不过你提出的 对 动态发表文章的权限控制 我倒是 觉得 可以尝试一下 动态的,不过具体的我还没想好 |
|
返回顶楼 | |
发表时间:2006-10-24
jack 写道 freeboat 写道 我已经在好多个系统中应用过这个权限管理系统(php版\java版),总的来说还是比较满意的。他对权限的控制真的是非常的精细。
我们大部分开发的系统都是我们自用的,所以在权限管理起来没有什么难度,其中也有一套为客户制作的(进销存),客户在使用这套权限系统为自己的员工分配权限的时候也是没遇到什么操作问题,所以在操作上还是容易让人理解的。 我在使用它的时候 多数是对 菜单的控制,并没有精确到action等(我们是内网自用的办公系统),像 jack 所说的对动态添加的文章动态的设置权限,可能就要做一些特殊的修改了。 这个系统中基础的是 Aro Axo Aco 的设置,具体的权限设置在 Acl 处,所以,实现 jack 的想法也是不无可能的,但不做改动或许就会变得很难。 PS.在这个论坛里我觉得我的想法有时候很肤浅,也讲不出什么大道理,只求向各位多多学习。 看的出来,你这个GACL的主要应用还在于静态对象的权限管理.那原系统受限对象上附加一个GACL对象来做权限控制的这样的做法,只要受限对象是始终存在的,静态的.应该没有什么问题.比如javaeye的每一个帖子上附上一个GACL对象,作单独控制.就可能不是那么方便了.不知道我这样理解是否正确呢? 我想动态的处理 还是要看你如何决定来写自己的代码的,你可以每次填写一个文章都动态的添加上对该文章的相关操作方法,然后针对你的朋友在进行设置,当然,如果像 javaeye 这么大的网站来进行这样的操作的话,那么 aco(访问控制对象) 将会随文章的增多而无限庞大,应该还有其他的更好方法,railsGacl 对于动态权限设置 应该并不太适合 |
|
返回顶楼 | |
发表时间:2006-10-24
freeboat 写道 其实 使用 RailsGacl 的过程不过是调用 acl_check 这个方法,然后他会给你返回 true or false 其他的设置权限 如果 自带的设置正合你意,当然刚刚好,不过 我想管理员如果不是开发员的话 这个自带的设置还是不要给用户使用的好,因为多数时候我们的 Aco(访问控制对象) 都会写死到逻辑中, 例如 acl_check '系统维护','添加用户','人事处','李刚' 其中的 “系统维护”,“添加用户” 一般情况下都是写在 action 中的 不是吗? 至少我目前还没有动态用过。 不过你提出的 对 动态发表文章的权限控制 我倒是 觉得 可以尝试一下 动态的,不过具体的我还没想好 对于一个既定的系统来说,有哪些操作权限是确定的,如果项目开始就直接引入GACL,到处丢acl_check大概就不成问题了.不过rails本身有各种before_,after_之类的filter函数.如果你的这个GACL直接做成类似这样的方式,虽然不一定完全解决,不过开发人员的接受程度会高很多 .这样就能够方便开发人员修改已经发布的系统了. 草稿权限设置我原先想给javaeye提的建议,不过做起来难度大了点.所以也就算了.刚刚好你发了这个贴,就拿来做例子讨论讨论了. |
|
返回顶楼 | |
发表时间:2006-10-24
好东西..收藏啦...准备开始学ROR
|
|
返回顶楼 | |
发表时间:2006-10-24
|
|
返回顶楼 | |
发表时间:2006-10-24
和权限组有什么区别?
每人放到组里,如果某个人需要组权限之外的权限或限制就加allow或deny |
|
返回顶楼 | |
发表时间:2006-10-24
fyol 写道 和权限组有什么区别?
每人放到组里,如果某个人需要组权限之外的权限或限制就加allow或deny 请问 权限组 是什么,你想说的是什么意思呢? |
|
返回顶楼 | |