Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the best way to implement ACLs to a Rails application?

I just wanted to compare different solutions used when implementing ACLs in Rails.

like image 487
Rui Vieira Avatar asked Sep 22 '08 23:09

Rui Vieira


3 Answers

I use the authorization plugin (Created by Bill Katz):

Roles can be authorized for the entire application, a model class, or a specific object. The plugin provides a way of checking authorization at the class or instance method level using permit and permit? methods. It also provides english-like dynamic methods like "user.is_manager_of project" (where "user" acts as authorized, "manager" is a role, and "project" is an authorizable model). You can specify how control is redirected if authorization is denied. (quote source)

Homepage: http://www.writertopia.com/developers/authorization

Docs: http://github.com/DocSavage/rails-authorization-plugin/tree/master/authorization/README.rdoc


You might also be interested in reading this comparison (from last year but still somewhat useful; it's where I got the above quote from): http://www.vaporbase.com/postings/Authorization_in_Rails

And a more recent comparison: http://steffenbartsch.com/blog/2008/08/rails-authorization-plugins/

like image 104
marzagao Avatar answered Nov 08 '22 01:11

marzagao


The best I've found is role_requirement. It plugs straight into the restful_authentication plugin.

like image 41
Dan Harper Avatar answered Nov 08 '22 00:11

Dan Harper


There's a plugin called acl_system2 which operates by having a users table and a roles table. There's a lot more useful information in the README and the project is on github too.

like image 1
Ryan Bigg Avatar answered Nov 08 '22 00:11

Ryan Bigg