tipos territoriales tercer superior organizacionales nivel geografico genéricos generico extensiones ejemplos dominios dominio ruby-on-rails ruby session dns

ruby on rails - territoriales - Rieles: múltiples dominios de nivel superior y una sola sesión/cookie



tipos de dominios (5)

Es probable que necesite algo como RubyCAS si desea autenticación entre dominios independientemente de si son de nivel superior o de subdominios.

He estado luchando con esto por bastante tiempo y no he podido encontrar una solución. Necesito que un usuario pueda ver múltiples dominios de nivel superior con un solo inicio de sesión.

Tengo entendido que esto debe establecerse en environment.rb y before_dispatch con before_dispatch . Esto es lo que se me ocurrió:

require ''activesupport'' require ''dispatcher'' module ActionController class Dispatcher def set_session_domain ActionController::Base.session_options.update :session_domain => "#{@request.host}" end before_dispatch :set_session_domain end end

Sin embargo, esto no parece funcionar cuando intento extraer los valores de la session[:session_domain] .

Cualquier ayuda es muy apreciada.


Este es un poco complicado. Como las cookies solo se pueden asignar (y recuperar) al dominio actual ("forms.example.com", por ejemplo) y a los dominios principales (".example.com", pero no a ".com"), pero NO a otros dominios. ("othersite.com"), tendrás que buscar otra solución. Esto no tiene nada que ver con Rails, sino con el funcionamiento de las cookies.

EDITAR: las sesiones se basan en un identificador específico del cliente, almacenado en una cookie, por lo que las sesiones tampoco funcionan entre dominios.

Este sitio tiene una posible solución para crear una cookie entre dominios, y es la forma más limpia que conozco, aunque puede tener algunas implicaciones de seguridad. Una versión más complicada haría que los servidores se comunicaran directamente a través de un canal seguro.

Si está buscando un servicio de inicio de sesión único más general, intente implementar alguna forma de OpenID .


Para subdominios en Rails 2.3

ActionController::Base.session = { :domain => ".mydomain.com" }

Para dominios de nivel superior prueba este middleware .

He estado jugando con el middleware anterior por el momento y no funciona como esperaba. Si usa el middleware, no necesita el código anterior, ya que también maneja subdominios.


Su pregunta no es realmente lo suficientemente precisa en mi humilde opinión. ¿Desea una única cookie para todas las aplicaciones de Rails que tiene o está dentro del contexto de una sola? Si lo primero, desea buscar soluciones utilizando sesiones respaldadas por la base de datos o algo a lo largo de la línea de RubyCAS para implementar el protocolo CAS .


Tanto Keltia como zuk tienen razón, la respuesta es rubyCAS, tenemos que hacer esa integración y permite

SSI - Single sign -in Usted se registra en un sitio y usted se registra automáticamente en el otro

SSO - Single Sign Out. Usted cierra la sesión de un sitio y automáticamente se desconectó del otro

Para nosotros, esta es una solución comprobada y no difícil de implementar

lo estamos usando en http://www.cabslk.com y www.ticketslk.com

salud, Sameera