我只是想比较在 Rails 中实现 ACL 时使用的不同解决方案。
3 回答
我使用授权插件(由Bill Katz创建):
可以为整个应用程序、模型类或特定对象授权角色。该插件提供了一种使用 permit 和 permit 在类或实例方法级别检查授权的方法?方法。它还提供类似英语的动态方法,例如“user.is_manager_of project”(其中“user”充当授权,“manager”是角色,“project”是可授权模型)。如果授权被拒绝,您可以指定如何重定向控制。(引用来源)
主页: http ://www.writertopia.com/developers/authorization
文档:http: //github.com/DocSavage/rails-authorization-plugin/tree/master/authorization/README.rdoc
您可能也有兴趣阅读此比较(从去年开始,但仍然有些用;这是我从上面引用的地方): http ://www.vaporbase.com/postings/Authorization_in_Rails
以及最近的比较: http ://steffenbartsch.com/blog/2008/08/rails-authorization-plugins/
我发现最好的是role_requirement。它直接插入 restful_authentication 插件。
有一个名为 acl_system2 的插件,它通过用户表和角色表进行操作。自述文件中有很多有用的信息,该项目也在 github 上。