Question

J'ai un problème que je ne peux pas comprendre dans l'identité ASP.NET

Appliquez les étapes suivantes

  1. Créez deux projets Web vides, ils ont des noms:
    • Webapplication1
    • webapplication2
  2. Installez le package " Samples d'identité Microsoft ASP.NET 2.0.0-BETA2 " sur chaque projet
  3. Créer deux bases de données SQL ont les noms suivants:
    • WebDatabase1
    • webdatabase2
  4. Ajouter un nom d'utilisateur a Nom " user1 " dans webapplication1
  5. Ajouter un nom d'utilisateur a le nom " user2 " dans webapplication2
  6. Exécutez deux projets au même temps .
  7. Mon problème est quand je me connecte par " user1 " in " webapplication1 "

    "

    Je trouve webapplication2 est enregistré avec user1 .

    malgré chaque projet a une base de données séparée.

    et aussi aucun utilisateur1 dans webapplication2 .

    Quel est un problème?

    Excusez mon mauvais anglais!

Était-ce utile?

La solution

Lorsqu'un utilisateur se contente du site, le middleware d'authentification Serialise les informations utilisateur connectées (y compris l'ID, le nom et les rôles) dans le cookie d'authentification crypté.Lors de visites ultérieures, le cadre décrypte simplement et lit ces informations sans frapper la base de données.

Par défaut, le même nom de cookie est utilisé sur les applications ASP.NET.Ce que vous voyez passe est webapp1 définissant le cookie et WebApp2 le lisant.En effet, ils sont sur le même domaine (ou localhost) et les cookies sont partagés entre les ressources du même domaine.

Essayez de changer le nom de la cookie dans vos applications ...

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top