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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM