[ruby-it] Restful authentication plugin problema con before_filter

Andrea Pavoni apeacox a gmail.com
Sab 3 Ott 2009 11:33:01 CEST


non conosco questo plugin perchè uso authlogic e prima ancora usavo un 
sistema che mi ero scritto da solo, ad ogni modo l'errore sembra quel 
filter:

dove l'hai messo? "before_filter :authorize, except => :sessions" 
indicherebbe che "sessions" è una action, mentre mi sembra di capire che 
è un controller.

di norma faccio questo:

nell'application controller metto un filtro "senza eccezioni", poi nel 
controller che non voglio filtrare (come ad esempio l'azione del login), 
uso qualcosa tipo:

skip_before_filter :authorize, :only => [:new,:create]

Per quanto riguarda il redirect, devi evitare il filtro "authorize" 
sull'azione del login (/sessions/new) altrimenti è normale che vada in 
loop (gli stai dicendo redirigere verso il login, ed il filtro sul login 
dice di redirezionare comunque su se stesso).

spero di averti aiutato ;)
A.


pezzuya .. ha scritto:
> Ciao a tutti.
> Sto provando ad utlizzare il plugin in oggetto e, in particolare, sto
> cercando di "forzare" il passaggio da "login" con un before_filter
> nell'application controller.
> "login" nel plugin in oggetto non é però un controller ma una rotta
> verso sessions/new.
> Il filter che ho creato é il seguente:
>
> before_filter :authorize, except => :sessions
>
> protected
> def authorize
>   unless User.find_by_id(session[:user_id])
>     flash[:notice] = "eseguire login"
>     redirect_to :controller => 'login'
>   end
> end
>
> ho provato tutte le varianti possibili sia su before_filter che su
> redirect_to.
> Il redirect funziona peccato però che, quando vengo rediretto a login,
> non vedo la pagina di login ma la pagina di errore "redirect loop" di
> firefox.
>
> Dove sto sbagliando?
>
> Grazie a tutte le persone che mi risponderanno.
>
> Ciao
>   



More information about the Ml mailing list