C# .Net核心控制器授权设置

C# .Net核心控制器授权设置,c#,asp.net-mvc,.net-core,C#,Asp.net Mvc,.net Core,最近,我们将应用程序从.NETFramework转换为.NETCore。 但是在转换之后,我们发现控制器授权发生了一些变化 在转换之前,默认情况下可以在未经授权的情况下访问这些操作。这与[AllowAnonymous]属性类似,尽管我们没有手动设置该属性 转换后,操作的工作方式与[Authorize]属性类似。它需要授权才能在没有任何授权属性的情况下访问这些控制器和操作 这里我的问题是如何将默认授权设置回[AllowAnonymous],而不是[Authorize] 我想这可能是版本问题吧 我希

最近,我们将应用程序从.NETFramework转换为.NETCore。 但是在转换之后,我们发现控制器授权发生了一些变化

在转换之前,默认情况下可以在未经授权的情况下访问这些操作。这与[AllowAnonymous]属性类似,尽管我们没有手动设置该属性

转换后,操作的工作方式与[Authorize]属性类似。它需要授权才能在没有任何授权属性的情况下访问这些控制器和操作

这里我的问题是如何将默认授权设置回[AllowAnonymous],而不是[Authorize]

我想这可能是版本问题吧


我希望我可以将没有授权属性的操作和控制器重置为默认的[AllowAnonymous]授权。

在core中,[Authorize]属性用于控制类级别或函数级别的访问。[AllowAnonymous]属性用于“允许未经身份验证的用户访问单个操作”。因此,在类级别用[Authorize]修饰的控制器中,应该在函数级别使用[AllowAnonymous]。默认情况下,没有[Authorize]属性的控制器应表现为不需要授权

资料来源:

如果迁移.NET版本确实存在问题,我可能会从这里开始:

我们可以在这里使用一些代码。无代码=无法知道为什么会出现问题..也许是您的一个控制器的示例?此外,我们还可以查看您的启动代码,以便查看启用了哪些服务。
[Authorize]
/
[AllowAnonymous]
属性仍像以前一样工作,但取决于.NET/MVC语法的早期版本。可能您已配置am授权筛选器。阅读并显示您的启动代码。