2012-04-07 17 views
0

Ich habe Devise und CanCan in meiner Rails App. Ich denke standardmäßig, es sollte Benutzer auf die Anmeldeseite umleiten, wenn Benutzer versuchen, sich auf einer nicht autorisierten Seite anzumelden. Aber irgendwie funktioniert es nicht für meine App.Weiterleitung zur Anmeldeseite, wenn nicht in Rails autorisiert

Wie kann ich eine Überprüfung implementieren, wenn Benutzer autorisiert sind und wenn nicht global (z. B. für alle Controller/Methoden) nach Hause umleiten?

UPDATE: Es scheint, dass mein CanCan nach der Aktualisierung von Jquery nicht mehr funktioniert.

Vielen Dank. Diese

Antwort

1

Es sollte funktionieren, zeigen Sie uns Ihre routes.rb Datei. Um zu überprüfen, fügen Sie einfach before_filter :authenticate_member! oben auf Ihrer Controller-Klasse.

1

ist, wie ich es tun (in routes.rb) mit meiner eigenen benutzerdefinierten Authentifizierung (wahrscheinlich ähnlich mit devise):

root :to => '<controller#action_needing_authorization>', :constraints => lambda{|req| !req.session[:user_id].blank? } 
root :to => 'sessions#new' 

Dies funktioniert, weil Routen in der Reihenfolge abgestimmt sind sie angegeben sind.

Verwandte Themen