我有以下OWIN身份验证设置的简单应用程序:
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
var options = new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
CookieName = "app",
};
options.ExpireTimeSpan = TimeSpan.FromHours(2);
options.LoginPath = new PathString("/account/login");
options.Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<UserManager, IdentityUser, Guid>(
TimeSpan.FromSeconds(30),
(manager, user) => user.GenerateUserIdentityAsync(manager),
claim => Guid.Parse(claim.GetUserId()))
};
app.UseCookieAuthentication(options);
}
}
如果我在两个子域test.app.com和demo.app.com上托管应用程序,我需要分别登录这两个应用程序,这很好。
但是,如果我使用Fiddler捕获请求/响应,从test.app.com提取cookie并使用Fiddler访问带有相同cookie的demo.app.com,它将返回结果。
我想知道,我们如何阻止此操作,禁止使用相同的Cookie从一个子域访问另一个子域。
我有单个应用程序实例,两个子域都指向它。
谢谢!