Qual è il modo migliore per implementare ACL in un'applicazione Rails?
-
02-07-2019 - |
Domanda
Volevo solo confrontare diverse soluzioni utilizzate durante l'implementazione di ACL in Rails.
Soluzione
Uso il plug-in di autorizzazione (creato da Bill Katz ):
I ruoli possono essere autorizzati per l'intera applicazione, una classe di modello o un oggetto specifico. Il plugin fornisce un modo per verificare l'autorizzazione a livello di classe o di metodo di istanza usando il permesso e il permesso? metodi. Fornisce inoltre metodi dinamici di tipo inglese come " user.is_manager_of project " (dove "utente" agisce come autorizzato, "gestore" è un ruolo e "progetto" è un modello autorizzabile). È possibile specificare come reindirizzare il controllo se l'autorizzazione viene negata. ( fonte di preventivo )
Homepage: http://www.writertopia.com/developers/authorization
Potresti anche essere interessato a leggere questo confronto (dell'anno scorso ma ancora in qualche modo utile; è da dove ho preso la citazione sopra): http://www.vaporbase.com/postings/Authorization_in_Rails
E un confronto più recente: http://steffenbartsch.com/blog/2008/08/rails-authorization -plugins /
Altri suggerimenti
Il migliore che ho trovato è role_requirement . Si collega direttamente al plug-in restful_authentication.
Esiste un plugin chiamato acl_system2 che funziona con una tabella utenti e una tabella ruoli. Ci sono molte più informazioni utili nel README e anche il progetto è su github .