![]() |
1
1
我不会取消授权。假设您有一个客户,CustomerId是一个声明,那么您就不能测试代码,因为声明丢失了。相反,我会选择为开发目的添加一个标识。 这可能是黑客攻击,但我的策略是添加一个过滤器,在其中设置当前用户,包括所需的角色:
这样,您可以在开发时定义多个测试场景。 这里有一个类似的方法 asp.net核心3.0
|
![]() |
2
1
我将分享一些方法来做到这一点。按照我的服务工作方式,我们有一个基本的控制器类FooController,它包含了服务的所有逻辑。每个环境(请不要问!)我们有从FooController派生的DevFooController。
在
属性应用于相应的控制器。 霍基?是的。作品也是的。 一个不同的系统,我用过的依赖注入工作。所有控制器都已注册。在每个请求中,注射器都有一些关于请求的有趣信息(dev/prod、flights、geo等),并且能够选择正确的具体控制器。这些类看起来很相似,但FooController也实现了IFooController,而且多个注册的类都可以同时使用,而上面的示例中只有一个静态配置的路由可用。 我更喜欢国际奥委会的做法,但当我现在支持的服务被写在白板上时,我不在身边。 我们用这种方式实现的一个显著特性是CORS支持。它在任何预生产端点上都不可用。
最后,我们有一个ActionFilter对我们的几个方法,可能会像你想要的工作。“允许匿名”逻辑在ActionFilter本身中。如果
|