﻿
在真实世界，对用户的身份认证基本方法可以分为这三种：
 
(1) 根据你所知道的信息来证明你的身份(what you know ，你知道什么 ) ；
(2) 根据你所拥有的东西来证明你的身份(what you have ，你有什么 ) ；
(3) 直接根据独一无二的身体特征来证明你的身份(who you are ，你是谁 ) 

一般情况用户名密码叫做单重身份认证。

2AF 双重身份认证


身份：老师（教师证），驾驶员（驾驶证）

一个人具有多个身份，每一个身份通过有效证件来鉴别。

证件：证件元信息。身份证：姓名，性别。。。。

人才是重点，我也叫当事人。


User当事人

当一个HTTP请求过来的时候，是那个当事人操控的。HttpContext.User

认证：确定你是谁，具有那些声明信息（证件反应）

授权：根据声明信息的多种因子，判断是否具有权限执行操作

认证授权方案： HTTP基本认证、HTTP摘要身份认证、Bearer身份认证、WINDOWS身份认证（NTLM 或 Kerberos V5）、OAuth2.0、OpenIdConnect、SAML、WS联合身份认证。

HttpConex的扩展方法--->IAuthenticationService（IAuthenticationHandlerProvider + IAuthenticationSchemeProvider ）