Qual é a melhor maneira de implementar ACLs para uma aplicação Rails?
-
02-07-2019 - |
Pergunta
Eu só queria comparar diferentes soluções utilizadas na implementação de ACLs em Rails.
Solução
Eu uso o plugin de autorização (Criado por Bill Katz ):
As funções podem ser autorizados para o aplicativo inteiro, uma classe de modelo, ou um objeto específico. O plug-in fornece uma maneira de verificar a autorização no nível do método de classe ou instância usando licença e autorização? métodos. Ele também fornece Inglês-como métodos dinâmicos como "user.is_manager_of projeto" (onde "usuário" atua como autorizada, "manager" é um papel, e "projeto" é um modelo susceptível de autorização). Você pode especificar como o controle é redirecionado se a autorização é negada. ( Citação fonte)
Homepage: http://www.writertopia.com/developers/authorization
Docs: http://github.com/DocSavage/rails- autorização-plugin / árvore / master / autorização / README.rdoc
Você pode também estar interessado em ler esta comparação (do ano passado, mas ainda um pouco útil, é onde eu tenho a citação acima): http://www.vaporbase.com/postings/Authorization_in_Rails
E uma comparação mais recente: http://steffenbartsch.com/blog/2008/08/rails-authorization -plugins /
Outras dicas
O melhor que eu encontrei é role_requirement . Ele se conecta diretamente para o plugin restful_authentication.
Há um plugin chamado acl_system2 que opera por ter uma tabela de usuários e uma mesa de papéis. Há muito mais informações úteis no README e o projeto está no github demais .