Pregunta

Tengo un problema que no puedo entender en la identidad de ASP.NET

Aplicar los siguientes pasos

  1. Crea dos proyectos web vacíos, tienen nombres:
    • webapplication1
    • webapplication2
  2. Instalar paquete " Microsoft asp.net Identy Muestras 2.0.0-beta2 " en cada proyecto
  3. Crear dos bases de datos SQL tienen los siguientes nombres:
    • webdatabase1
    • webdatabase2
  4. agregar usuario tiene nombre " user1 " en webapplication11
  5. Agregar usuario tiene nombre " user2 " en webapplication2
  6. ejecutar dos proyectos en el mismo tiempo .
  7. Mi problema es cuando inicia sesión por " user1 " en " webapplication11 "

    Encuentro webapplication2 se registra con user1 .

    A pesar de que cada proyecto tiene una base de datos separada.

    y también no user1 en webapplication2 .

    ¿Qué es un problema?

    Disculpe mi mal inglés!

¿Fue útil?

Solución

Cuando un usuario firma en el sitio, el Middleware de Auth, el Middleware se inicia la información del usuario registrada (incluida la identificación, el nombre y los roles) en la cookie de autenticación cifrada.En las visitas posteriores, el marco simplemente descifra y lee esa información sin golpear la base de datos.

De forma predeterminada, el mismo nombre de cookies se usa en aplicaciones ASP.NET.Lo que ves sucede es WebApp1 Configuración de la cookie, y WebApp2 leyó.Esto se debe a que están en el mismo dominio (o localhost) y las cookies se comparten a través de los recursos en el mismo dominio.

Intente cambiar el nombre de la cookie en sus aplicaciones ...

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    // ...
    CookieName = "WebApp1AuthCookie"
});

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top