0

Lors de l'utilisation de l'authentification HTTP Basic d'Authlogic, UserSession.find renvoie zéro car la session semble ne pas être définie. Par conséquent, declare_authorization, qui fait référence à la méthode habituelle current_user (comme ci-dessous), ne peut pas trouver un utilisateur actuel.Authlogic HTTP Basic UserSession.find renvoie zéro, signifie que declare_authorization ne peut pas obtenir un current_user

def current_user_session 
    return @current_user_session if defined?(@current_user_session) 
    @current_user_session = UserSession.find 
end 

def current_user 
    return @current_user if defined?(@current_user) 
    @current_user = current_user_session && current_user_session.record 
end 

Est-il possible de créer une session lorsqu'un utilisateur auths via HTTP de base (même si cette session ne durera jusqu'à ce que la demande se ferme) ou est-il une meilleure façon de le faire?

+0

Ayant déménagé pour concevoir, j'ai exactement le même problème. En utilisant HTTP basic auth, current_user est nul –

Répondre

0

Après avoir tripoté avec génie, tout semble maintenant fonctionner, aussi longtemps que lorsque en utilisant ActiveResource je place = "http: // user: mot de passe @ domaine", plutôt que:

site = "http://domain" 
username = "user" 
password = "password" 

Ce qui ne fonctionne pas. Je n'ai pas pris le temps de creuser pourquoi.

0

Cogner ce. J'ai exactement le même problème (avec les mêmes gems - authlogic + declareative_auth).

trouvé la solution pour moi, tout ce que je avais besoin était de copier le code suivant à la fin du authorization_rules.rb

privileges do 
    privilege :manage, :includes => [:create, :read, :update, :delete] 
    privilege :read, :includes => [:index, :show] 
    privilege :create, :includes => :new 
    privilege :update, :includes => :edit 
    privilege :delete, :includes => :destroy 
end 
+0

Je ne pense pas que ce soit le même problème. Le mien n'avait vraiment rien à voir avec l'autorisation, mais était authlogic ne renvoyant pas un objet current_user. –

Questions connexes