如何使用.NET Core 2.0中的Identity将应用程序cookie分解为多个cookie

时间:2018-01-29 17:14:35

标签: asp.net cookies asp.net-core asp.net-core-2.0

我注意到我的Core 2.0应用中生成的cookie非常大。 cookie与域相关联,域上的某些站点在Apache和NGINX上运行,其限制为8kb。对于某些用户,cookie可以达到8kb以上并在尝试访问其中一个站点时抛出错误。

有没有办法像这样分解cookie?:

  1. 第一个Cookie包含基本用户信息(名称,电子邮件等)。这是一个 非常少量的数据,永远不会超过几百 字节。此cookie将在域中共享以进行登录 目的

  2. 第二个cookie是包含所有用户的cookie 角色主张。这是问题领域,因为一些用户有很多 索赔。我想将这个cookie与JUST网站联系起来,所以它 不会在整个域内共享。

  3. 有没有办法用.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();
     });
    

0 个答案:

没有答案