标准的认证流程开始于一个访问服务器被保护资源的匿名请求, HTTP服务器随后处理了该请求并决定拒绝让它访问被保护的资源, 因为该请求没有凭据; 随后HTTP Server发送了一个WWW-Authenticate...而客户端通过发送一个带有用户名, 密码, nonce和其它信息的hash来进行认证.
Bear 认证方案, 它是最流行也是更安全的认证方案....这种方案使用Windows凭据来转化盘问的数据, 而不是使用编码的凭据.
Negotiate 认证方案, 它会自动选择NTLM方案和Kerberos协议中的一个, Kerboros协议比NTLM快....使用Bearer方案和JWT的流程如下:
?
配置项目, 在Startup的ConfigureServices里:
?
如果使用Identity Server 4的话, 这里就可以不这样写了....针对这点我们采取的节流策略是控制允许访问API的请求的频率/速率,它可以决定特定的请求是否被允许。
例如客户端只允许每小时有100个请求到达API,也可以按天计算,还可以带着IP地址一起限制。