¿Cuál es la mejor manera de implementar ACL en una aplicación Rails?
-
02-07-2019 - |
Pregunta
Solo quería comparar diferentes soluciones utilizadas al implementar ACL en Rails.
Solución
Utilizo el complemento de autorización (creado por Bill Katz):
Se pueden autorizar roles para toda la aplicación, una clase de modelo o un objeto específico.El complemento proporciona una forma de verificar la autorización a nivel de método de clase o instancia usando permiso y permiso.métodos.También proporciona métodos dinámicos similares al inglés como "user.is_manager_of project" (donde "usuario" actúa como autorizado, "gerente" es un rol y "proyecto" es un modelo autorizado).Puede especificar cómo se redirige el control si se deniega la autorización.(fuente de cotización)
Página principal:http://www.writertopia.com/developers/authorization
Documentos:http://github.com/DocSavage/rails-authorization-plugin/tree/master/authorization/README.rdoc
Quizás también te interese leer esta comparación (del año pasado pero todavía algo útil;de donde saqué la cita anterior):http://www.vaporbase.com/postings/Authorization_in_Rails
Y una comparación más reciente:http://steffenbartsch.com/blog/2008/08/rails-authorization-plugins/
Otros consejos
Lo mejor que he encontrado es requisito_rol.Se conecta directamente al complemento restful_authentication.
Hay un complemento llamado acl_system2 que funciona teniendo una tabla de usuarios y una tabla de roles.Hay mucha más información útil en el LÉAME y el proyecto también está en github.