我正在IIS中添加兩個網站。代碼是一樣的,但檔案不同。問題是,當你登錄第一個網站并登錄第二個網站時,之后你試圖在第一個網站上做一些事情,看起來像是會話被清除了,主頁又顯示出來了。兩者都是使用相同的會話變數。我也在使用JwtBearer.
。
我怎樣才能同時使用兩個網站呢?
Startup.cs:
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(300)。
options.Cookie.HttpOnly = true;
});
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; })
.AddIdentityServerJwt()
.AddJwtBearer(x =>
{
x.RequireHttpsMetadata = false;
x.SaveToken = true;
x.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(key)。
ValidateIssuer = false,
ValidateAudience = false。
ValidateLifetime = true,
}; });
我正在使用會話:
IHttpContextAccessor.HttpContext.Session。
uj5u.com熱心網友回復:
你正在使用cookie進行會話識別。瀏覽器會根據網址的不同而在請求中添加cookie。如果你使用的是同一臺服務器,并且url中的主機名相同,那么在這種情況下,路徑部分應該是不同的。 這種差異也應該被設定在cookie上,因為默認路徑是空的。因此,如果你的兩個網站只在路徑上不同,但使用相同的主機名,那么默認的cookie路徑不允許瀏覽器進行區分。
嘗試將options.Cookie.Path設定為您的網站的適當根目錄。
2. 如果你發現你的會話在兩個站點之間共享,那么你也有一個其他問題:兩個站點是否共享同一個執行環境(apppool)?你是否只在 IIS 下面創建了一個站點,并將兩個應用程式放在它下面的不同檔案夾中?這不會在應用程式之間建立適當的分離。創建兩個應用池并將其分配給兩個應用程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/319166.html
標籤:
上一篇:計算并更新購物車中的產品價格-WooCommerce
下一篇:在多執行緒中上傳檔案到S3
