为什么身份验证在ASP.NET Core MVC 3.1的生产环境中不起作用?

时间:2020-09-09 18:35:55

标签: .net-core asp.net-core-mvc asp.net-core-3.1 asp.net-authorization

因此,我对ASP.NET Core还是相当陌生的,并且正在将应用程序部署到生产服务器。我正在使用标准的身份验证/实体框架库,并且工作正常。但是,当我使用[Authorize]属性保护页面时,该页面可在我的开发机上使用,而不能在生产环境上使用。我的Startup.cs类中没有任何异常,也没有IsDevelopment子句:

app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();

1 个答案:

答案 0 :(得分:0)

如果所有方法都需要授权,请尝试将[Authorize]放在控制器类上方:

[Authorize]
public class HomeController : Controller

这将要求用户经过身份验证才能在控制器内运行任何操作。我不确定为什么除非在控制器级别有其他方法可以覆盖它,否则为什么它不能在操作级别上起作用。