我注意到我的Core 2.0应用中生成的cookie非常大。 cookie与域相关联,域上的某些站点在Apache和NGINX上运行,其限制为8kb。对于某些用户,cookie可以达到8kb以上并在尝试访问其中一个站点时抛出错误。
有没有办法像这样分解cookie?:
第一个Cookie包含基本用户信息(名称,电子邮件等)。这是一个 非常少量的数据,永远不会超过几百 字节。此cookie将在域中共享以进行登录 目的
第二个cookie是包含所有用户的cookie 角色主张。这是问题领域,因为一些用户有很多 索赔。我想将这个cookie与JUST网站联系起来,所以它 不会在整个域内共享。
有没有办法用.NET Core 2.0和Identity做到这一点?
以下是我ConfigureServices
文件的Startup
方法中的应用Cookie代码:
services.ConfigureApplicationCookie(options =>
{
options.Cookie.Name = ".XAUTH";
options.Cookie.Domain = ".domain.com";
options.ExpireTimeSpan = TimeSpan.FromDays(7);
options.LoginPath = "/Account/Login";
options.DataProtectionProvider = protectionProvider;
options.TicketDataFormat = new TicketDataFormat(dataProtector);
options.CookieManager = new ChunkingCookieManager();
});