首页 > Web开发 > 详细

Asp.Net Core Cookie使用,Asp.net Core Cookie操作失效

时间:2019-12-03 11:39:09      阅读:314      评论:0      收藏:0      [点我收藏+]
原文:Asp.Net Core Cookie使用,Asp.net Core Cookie操作失效

注:本文主要介绍Asp.net Core 3.0后增加cookie代理功能。

默认是增加了的。

技术分享图片

 

默认增加的这个有些问题所在,

1.原来设置cookie方式将不可用,需要按照代理方式设置

2.对于session也会失效。

如果使用session,目前知道的解决方案是不使用代理方式操作cooke。直接注释掉就可以了。

 

关于新增cookie代理使用介绍如下:

这篇主要介绍Microsoft.AspNetCore.CookiePolicy这个类库的作用。

功能介绍

  1. 实现IResponseCookies接口,添加、删除cookie时加入自定义控制方法,并支持全局cookie属性设置。
  2. 实现CookieOptions.IsEssential的功能,该属性标识当前属性是否必须的或是否绕过ITrackingConsentFeature的检查。
  3. 实现ITrackingConsentFeature接口,该接口主要是向cookie中添加并检索用户确认设置。

使用Cookie策略

Asp.Net Core是一个高度组件化的框架,很多功能比如授权,认证,回话状态等都是通过中间件的方式引入的,而Microsoft.AspNetCore.CookiePolicy扩展也是通过中间件的方式引入的。

在项目的Startup中添加如下代码:

public class Startup
{
    public void Configure(IApplicationBuilder app)
    {
        ...
        //cookie策略提供了UseCookiePolicy的两个重载版本
        app.UseCookiePolicy();        
        //app.UseCookiePolicy(new CookiePolicyOptions
        //{
        //    CheckConsentNeeded = _ => true,
        //    HttpOnly = Microsoft.AspNetCore.CookiePolicy.HttpOnlyPolicy.None,
        //    MinimumSameSitePolicy = SameSiteMode.Strict,
        //    Secure = CookieSecurePolicy.SameAsRequest,
        //    OnAppendCookie = (context) =>
        //    {
        //        context.IssueCookie = true;
        //    },
        //    OnDeleteCookie = (context) =>
        //    {
        //    }
        //});
        ...
        app.UseMvc();
    }
}


该类是Microsoft.AspNetCore.CookiePolicy中的一个重要类,我需要的cookie修改监控,gdrp配置等都需要靠该类实现。

总结

  1. cookie策略通过继承IResponseCookies接口,可以实现添加、删除的功能
  2. 通过CookiePolicyOptions类,我们可以修改cookie的全局配置,并在添加、删除cookie时接受到通知,然后做一些你希望做的任何事情
  3. cookie策略通过继承ITrackingConsentFeature接口,可以实现检索、设置cookie的跟踪配置,改配置主要用于GDPR

 

Asp.Net Core Cookie使用,Asp.net Core Cookie操作失效

原文:https://www.cnblogs.com/lonelyxmas/p/11975017.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!