Lo que está buscando es una solución de inicio de sesión único.
Como autenticación de ASP.NET está en su corazón por lo general Basado en cookies, hay dos cosas que ver:
- Establecer las cookies correctamente.
- Registre a sus usuarios en el dominio alternativo durante el registro.
En cuanto a ambos con mayor profundidad:
1. galletas correctamente el ajuste
Usted necesita asegurarse de que ASP.NET está escribiendo las galletas vale de autenticación al dominio raíz, en vez que el dominio explícita esto se hace mediante el atributo del elemento domain
formas:
<forms
name="name"
loginUrl="URL"
defaultUrl="URL"
domain=".example.com">
</forms>
debe establecer su dominio a ".example.com" - tenga en cuenta el período principal - esta es la clave. De esta forma, las solicitudes a example.com y www.example.com leerán la cookie correctamente y autenticarán al usuario.
2. Los usuarios de rebote al dominio alternativo
Lo que hemos implementado en algunos sitios que utilizan un inicio de sesión único es un proceso de inicio de sesión de ida y vuelta. El usuario se autentica en el primer dominio, codificamos los datos de acceso, y redirigirlos a una página conocido en el segundo dominio, registrarlos en allí, y luego volver a redirigir el servidor original.
Esta redirección del lado del cliente es importante - las cookies sólo se dan cuando hay una respuesta de vuelta al cliente, y el navegador tiene que visitar el segundo dominio para ver realmente las galletas.
Otros detalles a tener en cuenta en este tipo de puesta a punto:
- Usted probablemente querrá tener un tiempo de espera en el inicio de sesión cifrada detalles - de modo que recordar que el URL del historial del navegador no lo hace de forma automática inicie sesión con el usuario.
- Si los dominios están en servidores diferentes, deberá asegurarse de que las claves de la máquina estén configuradas de la misma manera, de manera que pueda cifrar y descifrar los detalles correctamente o utilizar alguna otra clave compartida.
- Es probable que desee tener un mecanismo en el lugar para recuperar los usuarios ReturnUrl del servidor original para que pueda enviarlos de vuelta al lugar correcto.
También puede echar un vistazo a "Forms Authentication Across Applications"
La cookie de autenticación, como la mayoría de las galletas, se almacenan por dominio para evitar la polinización entre dominios y la suplantación. Por qué querrías hacer esto? – Lazarus
Porque a veces tiene varios sitios que desea que el usuario pueda usar sin problemas, sin tener que iniciar sesión en cada uno por separado. –
¿Por qué no seguir la metodología StackOverflow y utilizar un proveedor de autenticación externo como OpenID. – Lazarus