Connexion utilisateur de chevauchement dans deux projets avec l'identité ASP.NET
-
21-12-2019 - |
Question
J'ai un problème que je ne peux pas comprendre dans l'identité ASP.NET
Appliquez les étapes suivantes
- Créez deux projets Web vides, ils ont des noms:
- Webapplication1
- webapplication2
- Installez le package " Samples d'identité Microsoft ASP.NET 2.0.0-BETA2 " sur chaque projet
- Créer deux bases de données SQL ont les noms suivants:
- WebDatabase1
- webdatabase2
- Ajouter un nom d'utilisateur a Nom " user1 " dans webapplication1
- Ajouter un nom d'utilisateur a le nom " user2 " dans webapplication2
- Exécutez deux projets au même temps .
Mon problème est quand je me connecte par " user1 " in " webapplication1 "
" Je trouve webapplication2 est enregistré avec
malgré chaque projet a une base de données séparée.
et aussi
Quel est un problème?
Excusez mon mauvais anglais!
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"
});