Plugins - ActiveAcl rails authorization system

StarAdd to favorites

ActiveAcl provides a high-performance, unintrusive and very flexible approach to fine grained access control.

Features:

  • ease of use - very comprehensible API, uses polymorphic collections for associations.
  • advanced design - uses SQL nested sets for inheritance, thus only needs a single DB query to decide on a permission request.
  • scalable - there are no real benchmarks yet. But the system design is based on phpgacl.sourceforge.net, adding object orientation, polymorphism and two levels of caching. PhpGacl claims "A real-world working version with many added layers of complexity supports over 60,000 Accounts, 200 Groups and 300 ACO’s." Tests on my dev notebook show 10 - 30 times performance improvements compared to active_rbac.
  • caching - uses instance caching and optionally stores permission results in memcached using timeouts.
  • very flexible - grants simple (2D, like current_user.has_permission?(User::LOGIN)) and object level (3D, like admin.has_permission?(Forum::ADMIN, :on => team_forum)) permissions. Can assign and request permissions to and from every ActiveRecord model. No "hardcoded" permissions - all permissions can be assigned at runtime.
  • grouping - permissions are inherited at target and requester side through groups. Every model implementing an SQL nested set tree using for example acts_as_nested_set may be used as a group.
  • ControllerAction model loader: It maps controller actions to the DB so they can be used in permission assignment. The access object is available via calling current_action on the controller.
  • exchangeable DB interface: ActiveRecord and direct MySQL adapter available
  • supports namespaced models and single table inheritance (STI)
  • 100 % C0 code coverage on unit tests.

Gregor Melhorn

http://activeacl.rubyforge.org

svn://rubyforge.org/var/svn/activeacl/trunk

LGPL

  • Currently 3.2/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Security

Tags

ss

Comments

Add a comment
ctran 23 Jan 2008

Last update on this was in 2006....

David Botham 14 Jan 2008

Same problem... db:migrate:plugins ...

This plugin horks my environment, can't use it.

Valery 22 May 2007

rake db:migrate:plugins PLUGIN=active_acl

fails:

(in /home/vak/wrk/ruby/rails/foo) rake aborted! Don't know how to build task 'db:migrate:plugins' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1472:in []' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:intop_level' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:in each' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1739:intop_level' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1761:in standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1733:intop_level' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1711:in run' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1761:instandardexceptionhandling' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/lib/rake.rb:1708:in run' /usr/lib/ruby/gems/1.8/gems/rake-0.7.3/bin/rake:7 /usr/bin/rake:16:inload' /usr/bin/rake:16

can't get it running

Search Plugins

Query syntax

Plugins by Category

Sponsors

Rails Kits: Get Code. Get Moving.

Have a comment?