2011-01-28 20 views
9

utilizo diseñar para la autenticación y quiero lo siguiente para trabajar: Registros delCARRILES/DISEÑAR - creando una cookie legado que persisten a través de diferentes subdominios

  1. usuario en al [http://mydomain.com].
  2. El usuario realiza un pago en [https://secure.mydomain.com]
  3. El usuario vuelve a [http://mydomain.com/action] seguir utilizando el sistema

estoy siguiendo este tutorial: http://clearcove.ca/blog/2010/11/how-to-secure-a-rails-app-on-heroku-with-ssl-firesheep/

pero estoy en la parte en la que necesito para hacer que Devise haga lo que authlogic hace aquí. ¡¡Ayuda!! ;)

Respuesta

21

Puede ser un poco tarde para esto, pero para aquellos que buscan en el futuro, es una solución bastante fácil. Agregue esto a archivo de configuración de su entorno:

Rails3App::Application.config.session_store :cookie_store, :key => '_rails3_app_session', :domain => :all 
# change "Rails3App" to the name of your rails app. 

La parte importante de esto es: domain =>: todos, ya que le dice a los carriles para permitir subdominios también. Otros han sugerido usar: domain => ".midominio.com", pero: domain =>: all hace el trabajo y no requiere que ingrese su nombre de dominio.

Nota: si no funciona cuando reinicia el servidor, es probable que tenga un archivo session_store.rb en su carpeta de inicializadores/que lo anule. Simplemente cambie la línea en ese archivo, o elimine ese archivo y muévalo a su configuración.

Además, tuve que colocar específicamente la línea en mi archivo production.rb ya que al cambiarlo en el archivo session_store.rb se rompieron mis sesiones para el desarrollo (usando la dirección IP).

7

Adición: si todavía no funciona a pesar de que está bastante seguro de que ha borrado sus viejas galletas, cambiar el nombre de la cookie clave - sólo para asegurarse. (Después de horas de resolución de problemas, esto era todo lo que tenía que hacer para que funcionara).

Cuestiones relacionadas