我們正面臨一個問題,即用戶使用多個選項卡,每個選項卡將爲該特定用戶共享一個會話,因此我們希望每個選項卡都具有唯一會話,我們已經在「InProc 「所以我們添加了Cookieless =」UseUri「即sessionState mode =」InProc「cookieless =」UseUri「。 添加這個幫助我們與每個選項卡有一個獨特的會議,但是這隻能在IE私人模式,但不是在IE正常模式下,鉻& firefox,它卡在登錄頁面上,我們的登錄方法是Azure活動目錄,即(聯邦)身份驗證,頁面不停地加載,並且它不會移動到我們應用程序的主頁,我不知道發生了什麼事,請你幫忙。如果使用sessionState mode =「InProc」cookieless =「UseUri」是好還是不好的方式?C#MVC多選項會話問題
這是我們用於AAD認證
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);
}
}
});
}
那麼這是什麼意思sessionState mode =「InProc」cookieless =「UseUri」?你能幫我限制用戶,當他在MVC中打開第二個標籤嗎? – PaTHP
任何人可以延伸幫助? – PaTHP
有沒有幫助。你想做什麼是不可能的。期。 InProc只是意味着會話存儲將存儲在內存中,與正在運行的進程綁定(AppPool)。這隻對開發有用,應該更改爲在生產中提供更穩定和可靠的會話存儲。 Cookieless意味着會話ID將被附加到URL而不是設置爲cookie。這是一個非常糟糕的主意,因爲你泄漏了會話。它也被棄用。這與你在這方面想要達成或幫助的事情沒有任何關係。 –