2010-07-02 12 views
6

Me gustaría que el sistema de autenticación nunca configure una cookie user_credentials, y solo utilice la cookie de sesión de Rails estándar.¿Cómo puedo obtener authlogic para usar la sesión de Rails en lugar de su propia cookie?

veo Session está incluido en Authlogic::Session::Session::Base después de Cookies. Si inicio sesión en mi aplicación y luego borro la cookie user_credentials, aún sigo conectado. ¿Entonces aparentemente authlogic está almacenando las credenciales en ambos lugares y revisando ambos lugares? ¿O ignorando la cookie pero aún configurándola? ¿Cómo puedo hacer que nunca configure o haga referencia a la cookie user_credentials?

Respuesta

5

De acuerdo con la respuesta a mi pregunta aquí ...

How can I remove callbacks inserted by vendor code?

... la respuesta a esta pregunta es que hacer esto por encima de mi definición UserSession:

Authlogic::Session::Base.after_save.delete_if{ |callback| callback.method == :save_cookie } 
class UserSession < Authlogic::Session::Base 
end 
+0

Lo hice funcionar para que la cookie user_credentials no se guarde, pero parece que Authlogic necesita esta cookie, en lugar de la capacidad de usar la sesión de Rails. ¿Alguna idea aquí? – grant

1

Si utiliza authlogic vendored entonces se puede prevenir a user_credentials de cookies mediante el uso y cambiar algo de código en el método save_cookie en "authlogic-2.1.5/lib/authlogic/sesión/cookies.rb"

+0

Gracias, parece un gran comienzo. –

Cuestiones relacionadas