Wir stehen vor einem Problem, wo ein Benutzer mehrere Registerkarten verwendet, jede Registerkarte wird eine Sitzung für diesen bestimmten Benutzer teilen, so dass wir jede Registerkarte eine eindeutige Sitzung haben möchten, haben wir bereits Sitzungsmodus in "InProc "Also haben wir cookeless =" UseUri "hinzugefügt, dh sessionState mode =" InProc "cookieless =" UseUri ". Dies half uns mit jeder Registerkarte mit einer einzigartigen Sitzung, aber dies funktioniert nur im IE privaten Modus, aber nicht im IE normalen Modus, Chrom & Firefox, es bleibt auf der Anmeldeseite stecken, ist unsere Login-Methode Azure Active Directory dh (Verband) Authentifizierung , die Seite wird geladen und es bewegt sich nicht zur Startseite unserer Anwendung, ich weiß nicht, was los ist, bitte helfen Sie mir.C# MVC MultipleTabs Sitzung Problem
FYI, wir speichern Klasseneigenschaften in der Sitzung, so dass sessionState mode = "InProc" cookieless = "UseUri" ist gut oder schlecht?
Hier ist der Code, den wir für AAD-Authentifizierung
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType); // Authentication type is cookies
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthorizationCodeReceived = (context) =>
{
X509Certificate2 cert = null;
X509Store store = new X509Store(StoreLocation.CurrentUser);
// Here the code all about certification & access token
return Task.FromResult(0);
}
}
});
}
Also, was bedeutet das sessionState mode = "InProc" cookieless = "UseUri"? Könntest du mir helfen, den Benutzer einzuschränken, wenn er einen zweiten Tab in MVC öffnet? – PaTHP
Wer kann Hilfe verlängern? – PaTHP
Es gibt keine Hilfe zu haben. Was du willst, ist nicht möglich. Zeitraum. InProc bedeutet einfach, dass der Sitzungsspeicher im Arbeitsspeicher ist und an den laufenden Prozess (AppPool) gebunden ist. Das ist wirklich nur in der Entwicklung nützlich und sollte in einen stabileren und zuverlässigeren Session-Speicher umgewandelt werden, der in der Produktion bereitgestellt wird. Cookieless bedeutet, dass die Sitzungs-ID an die URL angehängt und nicht als Cookie gesetzt wird. Es ist eine extrem schlechte Idee, weil Sie die Sitzung verlieren. Es ist auch veraltet. Nichts hat etwas damit zu tun, was Sie in dieser Hinsicht erreichen oder helfen wollen. –