zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    uva 10369 Arctic Network
    uvalive 5834 Genghis Khan The Conqueror
    uvalive 4848 Tour Belt
    uvalive 4960 Sensor Network
    codeforces 798c Mike And Gcd Problem
    codeforces 796c Bank Hacking
    codeforces 768c Jon Snow And His Favourite Number
    hdu 1114 Piggy-Bank
    poj 1276 Cash Machine
    bzoj 2423 最长公共子序列
  • 原文地址:https://www.cnblogs.com/tianma3798/p/11736589.html
Copyright © 2011-2022 走看看