前言 简单整理一下网关中的jwt,jwt用于授权认证的,其实关于认证授权这块https://www.cnblogs.com/aoximin/p/12268520.html 这个链接的时候就已经写了,当然只写到了4节,后面有10节没有写,是相对复杂的场景,后续会补齐. 正文 jwt 是json web tokens,是一种支持前面的数据结构. 至于什么是jwt的话,https://www.jianshu.com/p/576dbf44b2ae 这里有人写的比较好了. 然后前文也提及到为什么在网关做身…
前言 简单整理一下网关. 正文 在介绍网关之前,介绍一下BFF,BFF全称是Backend For Frontend,它负责认证授权,服务聚合,目标是为前端提供服务. 说的通透一点,就是有没有见过这种服务. 上述就是buff通过代理其他服务来让前端访问.这时候就有人说了,这不就是网关吗? 是的,个人理解这本来就属于一种网关.以前网关只负责数据协议的转发,现在变得高级了,功能更多了. 但是如果只负责数据协议的转发,那么就有一个专门的认证服务.每次用户访问网关的时候,网关要转到认证服务去认证,然后才…
前言 该章演示依赖注入中,对象的释放行为. 紧接上文表示,演示: services.AddSingleton<IMySingletonService, MySingletonService>(); services.AddSingleton<IMySingletonService>(new MySingletonService()); services.AddSingleton<IMySingletonService>(ServiceProvider => { r…
前言 本来想整理到<<重新整理.net core 计1400篇>>里面去,但是后来一想,整理 .net core 实践篇 是偏于实践,故而分开. 因为是重新整理,那么就从配置开始整理.以下只是个人理解,如有错误,望请指点谢谢. 正文 在我们创建好一个应用的时候,那么出现在我们视野的是一个这样的东西: public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Buil…
前言 这里介绍一下.net core的依赖注入框架,其中其代码原理在我的另一个整理<<重新整理 1400篇>>中已经写了,故而专门整理应用这一块. 以下只是个人整理,如有问题,望请指点. 正文 为什么有这个依赖注入呢? 假设人们面临这样一个问题. 比如说一个人做飞机去北京.那么人和飞机有什么关系呢?人和北京有什么关系呢? 假设有3个主体类,一个是人一个是飞机一个是北京.他们之间到底应该怎么组织呢? 先说人和北京的关系,人要去北京,那么飞机就是一个交通工具.是的,只是一个交通工具,那…
前言 简单介绍一下filter 正文 filter 的种类,微软文档中写道: 每种筛选器类型都在筛选器管道中的不同阶段执行: 授权筛选器最先运行,用于确定是否已针对请求为用户授权. 如果请求未获授权,授权筛选器可以让管道短路. 资源筛选器:授权后运行. OnResourceExecuting 在筛选器管道的其余阶段之前运行代码. 例如,OnResourceExecuting 在模型绑定之前运行代码. OnResourceExecuted 在管道的其余阶段完成之后运行代码. 操作筛选器: 在调用操…
前言 简单介绍一下权限源码阅读一下. 正文 一直有人对授权这个事情上争论不休,有的人认为在输入账户密码给后台这个时候进行了授权,因为认为发送了一个身份令牌,令牌里面可能有些用户角色信息,认为这就是授权,有的人认为这只是获取令牌的过程. 现实生活中有一个是授权证书,那么有人认为token 是授权证书,但这只是颁发证书.账户密码获取获取身份令牌也不是认证,认证是证明你的身份令牌有效的过程. 那么netcore 中是如何解释授权的: 授权是指确定用户可执行的操作的过程.故而实际上,获取身份令牌只是获取…
前言 介绍第三方依赖注入框架Autofac,看看为我们解决什么问题. 下面介绍4个点: 命名注册 属性注册 aop 注入 子容器命名 正文 为什么我们需要使用第三方框架?第三方框架为我们做了什么?第三方框架扩展了哪一个部分? 这里主要介绍一下Autofac. Autofac 主要是替换了我们ServiceProviderFactory 这个东西. public interface IServiceProviderFactory<IContainerBuilder> 我们使用的时候这样用: Ho…
前言 前面基本介绍了,官方对于asp .net core 设计配置和设计服务的框架的一些思路.看下服务和配置之间是如何联系的吧. 正文 服务: public interface ISelfService { string ShowOptionName(); } public class SelfService : ISelfService { IOptions<SelfServiceOption> _options; public SelfService(IOptions<SelfSer…
前言 前面介绍了服务与日志之间的配置,那么我们服务会遇到下面的场景会被遇到一些打log的问题. 前面我提及到我们的log,其实是在一个队列里面,而我们的请求是在并发的,多个用户同时发送请求这个时候我们的日志是错乱的. 如果有一个错误,那么我们只能过知道这个错误是哪里报错了,但是我们不知道触发的流程是什么样的,这对我们的debug不友好. 那么我们这时候就可以设置日志作用域. 正文 日志作用域适合下面的场景: 事务 因为一个事务有多个操作,那么希望这些操作能够有一个标识符,能够展示某一次事务的完整…