国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

3分鐘快速學(xué)會(huì)在ASP.NET Core MVC中如何使用Cookie

2024-07-10 12:49:40
字體:
供稿:網(wǎng)友

一.Cookie是什么?

我的朋友問我cookie是什么,用來干什么的,可是我居然無法清楚明白簡短地向其闡述cookie,這不禁讓我陷入了沉思:為什么我無法解釋清楚,我對(duì)學(xué)習(xí)的方法產(chǎn)生了懷疑!所以我們?cè)趯W(xué)習(xí)一個(gè)東西的時(shí)候,一定要做到知其然知其所以然。

HTTP協(xié)議本身是無狀態(tài)的。什么是無狀態(tài)呢,即服務(wù)器無法判斷用戶身份。Cookie實(shí)際上是一小段的文本信息)。客戶端向服務(wù)器發(fā)起請(qǐng)求,如果服務(wù)器需要記錄該用戶狀態(tài),就使用response向客戶端瀏覽器頒發(fā)一個(gè)Cookie。客戶端瀏覽器會(huì)把Cookie保存起來。當(dāng)瀏覽器再請(qǐng)求該網(wǎng)站時(shí),瀏覽器把請(qǐng)求的網(wǎng)址連同該Cookie一同提交給服務(wù)器。服務(wù)器檢查該Cookie,以此來辨認(rèn)用戶狀態(tài)。

打個(gè)比方,這就猶如你辦理了銀行卡,下次你去銀行辦業(yè)務(wù),直接拿銀行卡就行,不需要身份證。

二.在.NET Core中嘗試

廢話不多說,干就完了,現(xiàn)在我們創(chuàng)建ASP.NET Core MVC項(xiàng)目,撰寫該文章時(shí)使用的.NET Core SDK 3.0 構(gòu)建的項(xiàng)目,創(chuàng)建完畢之后我們無需安裝任何包,

但是我們需要在Startup中添加一些配置,用于Cookie相關(guān)的。

//public const string CookieScheme = "YourSchemeName";  public Startup(IConfiguration configuration)  {   Configuration = configuration;  }  public IConfiguration Configuration { get; }  // This method gets called by the runtime. Use this method to add services to the container.  public void ConfigureServices(IServiceCollection services)  {   //CookieAuthenticationDefaults.AuthenticationScheme Cookies Default Value   //you can change scheme   services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)    .AddCookie(options => {     options.LoginPath = "/LoginOrSignOut/Index/";    });   services.AddControllersWithViews();   // is able to also use other services.   //services.AddSingleton<IConfigureOptions<CookieAuthenticationOptions>, ConfigureMyCookie>();  }

在其中我們配置登錄頁面,其中 AddAuthentication 中是我們的方案名稱,這個(gè)是做什么的呢?很多小伙伴都懵懵懂懂表示很懵逼啊,我看很多人也是都寫得默認(rèn),那它到底有啥用,經(jīng)過我看AspNetCore源碼發(fā)現(xiàn)它這個(gè)是可以做一些配置的。看下面的代碼:

internal class ConfigureMyCookie : IConfigureNamedOptions<CookieAuthenticationOptions> {  // You can inject services here  public ConfigureMyCookie()  {}  public void Configure(string name, CookieAuthenticationOptions options)  {   // Only configure the schemes you want   //if (name == Startup.CookieScheme)   //{    // options.LoginPath = "/someotherpath";   //}  }  public void Configure(CookieAuthenticationOptions options)   => Configure(Options.DefaultName, options); }

在其中你可以定義某些策略,隨后你直接改變 CookieScheme 的變量就可以替換某些配置,在配置中一共有這幾項(xiàng),這無疑是幫助我們快速使用Cookie的好幫手~點(diǎn)個(gè)贊。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂昌县| 云林县| 娄底市| 镇远县| 巴马| 卢龙县| 余姚市| 耒阳市| 安徽省| 恭城| 天峻县| 阿拉尔市| 清涧县| 滕州市| 和硕县| 鹰潭市| 日喀则市| 昂仁县| 延安市| 齐齐哈尔市| 平果县| 广平县| 广南县| 阿拉善右旗| 吉安市| 永德县| 常德市| 浏阳市| 武山县| 西林县| 康马县| 子洲县| 通河县| 石渠县| 定西市| 郁南县| 怀宁县| 定日县| 丰镇市| 呼伦贝尔市| 武强县|