我有幾個MVC 5應用程序共享相同的身份驗證Cookie。我正在使用ASP.NET身份來創建cookie。在Asp.Net Core 1(MVC6)和MVC 5應用程序之間共享身份驗證Cookie
我檢查,如果用戶使用的是Owin的helper方法驗證,像這樣:
app.UseCookieAuthentication(
new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
ExpireTimeSpan = TimeSpan.FromMinutes(expirationTimeInMinutes),
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider()
});
而在所有應用程序中使用這個cookie,我在web.config文件中的以下配置:
<machineKey validationKey="..." decryptionKey="..." validation="SHA1" />
據我所知,這種配置允許應用程序解密相同的cookie。
在MVC6應用程序,我將它設置爲使用的cookies是這樣的:
app.UseCookieAuthentication(options =>
{
//options.AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie;
options.ExpireTimeSpan = TimeSpan.FromMinutes(20);
options.LoginPath = new PathString("/Account/login");
//options.Provider = new CookieAuthenticationProvider()
});
OK,這裏是我的問題的配置已經是不同的,因爲我不知道指定供應商,也不認證類型。
之後,我必須配置解密密鑰,但據我所知,MVC 6沒有web.config文件。那麼我怎麼能做到這一點呢?
這兩個網站是否在同一個域名中? – Win
是的,他們在同一個域中。 – vintem