Frage

Wir haben zwei Anwendungen, die beide Asp.Net Identity aus Sicherheitsgründen verwenden.

Sie haben nichts miteinander zu tun, aber ich bin zufällig Entwickler beider Projekte.

Ich stehe vor einem ziemlich nervigen Problem mit dem Cookie-Namen.Wenn ich zu App1 gehe und mich anmelde, dann zu App2 und mich anmelde, wird die Verbindung zu App1 getrennt.

Meine wilde Vermutung ist, dass es daran liegt, dass die beiden Anwendungen denselben Cookie-Namen verwenden.

Um die Entwicklung zu vereinfachen und weil ich es schöner finde, suche ich nach einer Möglichkeit, den Namen des Cookies zu ändern.

Irgendeine Ahnung?

War es hilfreich?

Lösung

Okay, ich habe es gefunden.

Standardmäßig erstellen VS und Identity eine Datei in App_Start mit dem Namen Startup.Auth.cs.

Diese Datei enthält den folgenden Code

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
    LoginPath = new PathString("/Account/Login"),
    Provider = new CookieAuthenticationProvider
    {
        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
            validateInterval: TimeSpan.FromMinutes(30),
            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
    }
});

Um unser Problem zu beheben, müssen wir die CookieName-Eigenschaft von festlegen CookieAuthenticationOptions

CookieName = "my-very-own-cookie-name"

Das ist es;nichts mehr.

Prost!

Andere Tipps

Bei der Formularauthentifizierung ist die Änderung des Cookie-Namens über web.config:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top