美文网首页
claim,一语点破梦中人

claim,一语点破梦中人

作者: _蜗牛的希望_ | 来源:发表于2019-07-17 13:08 被阅读0次

如果对 claim[] 定义不是很理解,可以看看dudu大神的解释《理解ASP.NET Core验证模型(Claim, ClaimsIdentity, ClaimsPrincipal)不得不读的英文博文》:

这篇英文博文是 Andrew Lock 写的 Introduction to Authentication with ASP.NET Core 。

以下是简单的阅读笔记:


ASP.NET Core 的验证模型是 claims-based authentication 。Claim 是对被验证主体特征的一种表述,比如:登录用户名是...,email是...,用户Id是...,其中的“登录用户名”,“email”,“用户Id”就是ClaimType。

You can think of claims as being a statement about...That statement consists of a name and a value.

对应现实中的事物,比如驾照,驾照中的“身份证号码:xxx”是一个claim,“姓名:xxx”是另一个claim。

一组claims构成了一个identity,具有这些claims的identity就是 ClaimsIdentity ,驾照就是一种ClaimsIdentity,可以把ClaimsIdentity理解为“证件”,驾照是一种证件,护照也是一种证件。

ClaimsIdentity的持有者就是 ClaimsPrincipal ,一个ClaimsPrincipal可以持有多个ClaimsIdentity,就比如一个人既持有驾照,又持有护照。


理解了Claim, ClaimsIdentity, ClaimsPrincipal这三个概念,就能理解生成登录Cookie为什么要用下面的代码?

var claimsIdentity = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, loginName) }, "Basic"); var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); await context.Authentication.SignInAsync(_cookieAuthOptions.AuthenticationScheme, claimsPrincipal); 要用Cookie代表一个通过验证的主体,必须包含Claim, ClaimsIdentity, ClaimsPrincipal这三个信息,以一个持有合法驾照的人做比方,ClaimsPrincipal就是持有证件的人,ClaimsIdentity就是证件,"Basic"就是证件类型(这里假设是驾照),Claim就是驾照中的信息。

相关文章

  • claim,一语点破梦中人

    如果对 claim[] 定义不是很理解,可以看看dudu大神的解释《理解ASP.NET Core验证模型(Clai...

  • 一语点破梦中人

    一直认为,我在为他说好话,其实真不是,一语道破梦中人。谁也靠不住,只有自己努力!

  • 一语点破梦中人!

    人生在世,何为修行? 过好当下的每一天,依良知而行,做好当下的事,在哪个空间就做好哪个空间的事,自己为人妻就做好妻...

  • .

    一语惊醒梦中人.

  • 用剩余不多的时间,去燃烧整个生命。

    一语惊醒梦中人。

  • 人人都是产品

    嗯,一语惊醒梦中人

  • 一语点破

    生活在迷茫中很久了,突然发现其实最终的错误是我自己造成的! 幸福毁在我的手上!不要拿别人真心当试金石,一试所有的都...

  • ✨2017.8.12背单词✨

    词根:claim, clam 含义:喊,回响,召唤,清楚 助记词:claim 推理:claim → 叫喊以说...

  • 足浴有感

    临行起意赴浴楼, 真爱未果愁断容。 不料红袖本聪慧, 一语点破心中结。

  • Claim interpretation – Preamble

    When drafting a claim, or analysis a claim, each word has...

网友评论

      本文标题:claim,一语点破梦中人

      本文链接:https://www.haomeiwen.com/subject/pljqlctx.html