【发布时间】:2020-08-26 22:16:41
【问题描述】:
如何在开发过程中为具有[Authorize] 属性的控制器禁用身份验证?
Here 是 .net core 2 的答案,但它使用了 AddMvc(),这在 .net core 3.0 中没有使用。
我试过了:
services.AddControllers().AddMvcOptions(opts => opts.Filters.Add<AllowAnonymousFilter>());
它仍然返回 401;我不知道这是否在正确的轨道上。
更新:
之前链接的帖子已更新为适用于 3.x 的答案。
【问题讨论】:
-
services.AddMvc()位于 .net core 3.0 中,扩展名为MvcServiceCollectionExtensions。您可以使用与.net core 2相同的方法来实现您所需要的。 -
@Venky 它实际上不起作用,可能是因为应用程序的其余部分没有以
AddMvc模式设置。即使是这样,我使用它也会感到不舒服,因为AddMvc似乎不再是推荐的模式,并且在这种情况下已被AddControllers取代。 -
应用
[AllowAnonymous]过滤器来简化开发确实不是一个好主意,因为您正在跳过应用程序的重要部分,而不提供您可能依赖的信息在用户实际通过身份验证时开启。因此,最好以包含您需要的声明并根据需要进行授权工作的综合用户身份登录。
标签: c# asp.net-core .net-core asp.net-core-3.0