J'utilise Devise pour l'authentification dans mon application.
Comment puis-je interdire à certains utilisateurs de se connecter - pour désactiver un utilisateur?
J'utilise Devise pour l'authentification dans mon application.
Comment puis-je interdire à certains utilisateurs de se connecter - pour désactiver un utilisateur?
Fais-le comme ça:
Créez une colonne appelée is_active
pour le modèle User
.
Ajoutez ensuite le code ci-dessous au modèle User
:
class User < ActiveRecord::Base
#this method is called by devise to check for "active" state of the model
def active_for_authentication?
#remember to call the super
#then put our own check to determine "active" state using
#our own "is_active" column
super and self.is_active?
end
end
METTRE À JOUR
Comme le note Matt Huggins, la méthode s'appelle maintenant active_for_authentication?
( Documentation )
Vous voulez faire d'autorisation, pas d'authentification. Concevoir seulement authetication, cependant.
I. e. concevoir seulement vous indique qu'un utilisateur est bien celui qu'il dit qu'il est.
Vous avez besoin de quelque chose d'autre à lui interdire d'utiliser le site.
L'autorisation est un sujet populaire, et il ya toute une liste de pierres précieuses qui peuvent vous aider avec elle:
http://ruby-toolbox.com/categories/rails_authorization.html
Faites votre choix.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.