前言

在 ASP.NET Core 中,仍然沿用了 ASP.NET里面的 Identity 組件庫,負責對用戶的身份進行認證,總體來說的話,沒有MVC 5 里面那么復雜,因為在MVC 5里面引入了OWIN的東西,所以很多初學者在學習來很費勁,對于 Identity 都是一頭霧水,包括我也是,曾經在學 identity 這個東西前后花了一個多月來搞懂里面的原理。所以大部分開發(fā)者對于 Identity 并沒有愛,也并沒有使用它,會覺得被綁架。

值得慶幸的是,在 ASP.NET Core 中,由于對模塊的抽象化逐漸清晰,以及中間件的使用,這使得 Identity 的學習和使用路線變得更加平易近人,下面就讓我們一起來看看吧。

Getting Started

在開始之前,讓我們先忘記它和Entity Framework的關系,也忘記它和Authentication的關系,我們先學習幾個英語單詞。

有這么幾個“單詞”你可能需要弄明白:

# 1: Claims

大家應該都知道身份證長什么樣子的,如下:

其中,姓名:奧巴馬;性別:男;民族:肯尼亞;出生:1961.08.04,等等這些身份信息,可以看出都是一個一個的鍵值對,那如果我們想在程序中存這些東西,怎么樣來設計呢?對,你可能想到了使用一個字典進行存儲,一個Key,一個Value剛好滿足需求。但是Key,Value的話感覺不太友好,不太面向對象,所以如果我們做成一個對象的話,是不是更好一些呢?最起碼你可以用vs的智能提示了吧,我們修改一下,改成下面這樣:

//我給對象取一個名字叫`Claim`你沒有意見吧 public class Claim { public string ClaimT