Just to (finally) respond to acl9 .
Acl9 consists of two separate sections, the Access Control Subsystem , which is all the authorization material that you put in your controller, and the Role Subsystem , which installs / verifies / removes roles from an authenticated user.
The only thing that calls to the access control subsystem is ever current_user.has_role?( role, obj=nil) . Thus, the role subsystem has zero dependency on ActiveRecord, associations, database, etc. is an assistant ( acts_as_authorization_subject ) that adds an ActiveRecord has_role? dependent method to the class has_role? , but completely optional, and you can implement your own has_role? method has_role? (which can also back off when calling super to get acl9) and implement your access checks as you please. So, you said what to do, keep your user model, but let me say that you want the role of your user to be the administrator of the school, but this school is a web service call to some remote system.
source share