欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么在Asp.NetCore中利用Session實(shí)現(xiàn)身份驗(yàn)證-創(chuàng)新互聯(lián)

怎么在Asp.Net Core中利用Session實(shí)現(xiàn)身份驗(yàn)證?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)潢川免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

每種驗(yàn)證方式都有適合它的場景:


1.Windowss身份驗(yàn)證通常用于企業(yè)內(nèi)部環(huán)境,Windows Active Directory就是基于windows平臺的身份驗(yàn)證實(shí)現(xiàn);
2.Forms身份驗(yàn)證是Asp.Net框架中提出的另一種驗(yàn)證方式;
3.passport身份驗(yàn)證是微軟提供的基于自己的lives賬號實(shí)現(xiàn)的單點(diǎn)認(rèn)證服務(wù)。

Asp.net Core驗(yàn)證碼登錄遇到兩個(gè)小問題

第一是在Asp.net Core中引用dll,以往我們引用DLL都是直接引用,在Core里這樣是不行的,必須基于NuGet添加,或者基于project.json添加,然后保存VS會啟動(dòng)還原類庫。

第二就是使用Session的問題,Core里使用Session需要添加Session類庫。

第一步:在你的項(xiàng)目上基于NuGet添加:

install-package Microsoft.AspNetCore.Session -ver 2.0

install-package Microsoft.AspNetCore.Http.Extensions -ver 2.0

第二步:修改startup.cs

在startup.cs找到方法ConfigureServices(IServiceCollection services) 注入Session(這個(gè)地方是Asp.net Core pipeline):

services.AddSession();

接下來我們要告訴Asp.net Core使用內(nèi)存存儲Session數(shù)據(jù),在Configure(IApplicationBuilder app,...)方法中添加代碼:

app.UseSession();

基于Session的身份驗(yàn)證實(shí)現(xiàn)

這種方式可能是在Asp.Net框架提供的幾種驗(yàn)證方式之外的最常用的身份驗(yàn)證方式。

實(shí)現(xiàn)原理


1.客戶端發(fā)送身份認(rèn)證數(shù)據(jù)到服務(wù)器端
2.服務(wù)器收到并驗(yàn)證后將用戶信息保存到Session對象中,然后生成對應(yīng)的標(biāo)識并將標(biāo)識寫入cookie中
3.當(dāng)客戶端下次請求時(shí)帶上該cookie標(biāo)識
4.服務(wù)器通過該cookie標(biāo)識從session對象中獲取對應(yīng)的用戶信息

Asp.Net Core中的Session身份認(rèn)證實(shí)現(xiàn)

基于Session的身份認(rèn)證并不是Asp.Net Core中推薦的認(rèn)證方式,因?yàn)锳sp.Net Core中有更高級的Forms身份認(rèn)證方式,不過在這里不是本文章的主題,我們只講如何在Asp.Net Core中實(shí)現(xiàn)基于Session的身份認(rèn)證。

我們先創(chuàng)建一個(gè)用于代碼演示的基礎(chǔ)項(xiàng)目


dotnet new razor -n SessionSample

在startup.cs中啟用session功能


public class Startup
{
  public void ConfigureServices(IServiceCollection services)
  {
    ...
    //添加session服務(wù)
    services.AddSession();
  }
  public void Configure(IApplicationBuilder app, IHostingEnvironment env)
  {
    ...
    //啟用session
    app.UseSession();
    app.UseMvc();
  }
}

創(chuàng)建一個(gè)MyPage.cs文件,我們在該類中實(shí)現(xiàn)了一個(gè)IsLogin屬性,該屬性用來判斷用戶的登陸狀態(tài):


public class MyPage:PageModel
{
  protected bool IsLogin
  {
    get
    {
      string userId = null;
      //從sessin中獲取UserId對應(yīng)的用戶信息來判斷用戶是否登陸
      if (HttpContext.Session.TryGetValue("UserId", out byte[] bytes))
      {
        userId = Encoding.UTF8.GetString(bytes);
      }
      return !string.IsNullOrWhiteSpace(userId);
    }
  }
}

我們已經(jīng)實(shí)現(xiàn)了驗(yàn)證,現(xiàn)在缺少的是如何在session中添加UserId的信息,我們來創(chuàng)建一個(gè)Login頁面:


dotnet new page -n Login
public class LoginModel : MyPage
{
  public void OnGet()
  {
    if(IsLogin)
    {
      //如果已經(jīng)登陸就跳轉(zhuǎn)到/Index頁面
      RedirectToPage("/Index");
    }
  }
  public IActionResult OnPost()
  {
    //這里我們將UserId寫入session中
    HttpContext.Session.SetString("UserId", Guid.NewGuid().ToString());
    return RedirectToPage("/Index");
  }
}

給現(xiàn)有的頁面添加驗(yàn)證功能,打開Index頁面,添加如下代碼:


public class IndexModel : MyPage
{
  public IActionResult OnGet()
  {
    if (!IsLogin)
    {
      return RedirectToPage("/Login");
    }
    return Page();
  }
}

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。

當(dāng)前標(biāo)題:怎么在Asp.NetCore中利用Session實(shí)現(xiàn)身份驗(yàn)證-創(chuàng)新互聯(lián)
瀏覽路徑:http://aaarwkj.com/article46/dipjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)全網(wǎng)營銷推廣、云服務(wù)器、靜態(tài)網(wǎng)站、App設(shè)計(jì)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
欧美国产日韩一区在线观看| 久久精品一区二区日韩| 精品毛片久久久久久久久| 99热这里只有精品欧美| 欧美日韩亚洲人人夜夜澡| 精品一区精品二区国产日韩| 性生活视性生活大片日本| 日韩精品一区二区三区都在看| 溪乱毛片一区二区三区| 亚洲日本韩国视频久久精品| 国产av一区二区三区野战| 伊人久久综在合线亚洲| 在线视频一区二区三区精品观看| 中文字幕乱码亚洲中文在线| 白白色最新福利在线视频观看 | 国产日韩欧美高清免费视频| 国产婷婷成人久久av免费高清| 午夜性色在线视频福利| 亚洲精品隔壁傲慢人妻| 少妇欧美日韩精品在线观看 | 日本一区二区高清在线观看| 国产成人亚洲合色婷婷| 激情五月,开心五月深情五月| 成人午夜激情四射av| 亚洲国产欧美精品综合在线| 内射嫩国产欧美国产日韩欧美| 人妻精品中文字幕一区二区在线| 91在线国产精品视频| 国产精品va在线观看入口| 成人高清乱码一区二区三区| 青娱乐青青草91在线| 日韩毛片资源在线观看| 日韩永久免费av网站| 亚洲中文永久免费视频| 五月婷婷丁香噜噜噜噜| av黄色资源在线观看| 亚洲精品日韩一区二区| 日韩不卡在线免费观看视频| 一本久道久久综合狠狠老| 日本一道本不卡一区二区| 国产一区二区三区自拍|