前言
目前公司采用的开发框架是ABP VNext微服务框架
最近突然发现一个问题,ABP中如果控制器或服务层没有加 Authorize特性的话,则不会走身份认证,且不会认证Token
如图:
但是项目已开发大半...我们都知道,ABP提供了服务间的动态API通讯功能,它的原理是先获取对应服务的描述,然后通过描述来访问对应的服务节点,
也就是 api/abp/api-definition 这个描述JSON
我们用以上的代码添加了全局授权之后会发现...in customer class. · Issue #30025 · dotnet/aspnetcore (github.com)
是因为在.NET 5.0 之后,AuthorizeFilter继承了...IOC容器,且在CreateInstance方法中判断了这个类是否为空,如果为空则返回基类自己,代码如下:
IFilterMetadata IFilterFactory.CreateInstance(IServiceProvider...();
});
至此,我们就完成了过滤abp的描述控制器的工作.