我有一个ASP.NET核心Web应用程序,我正在使用Authorize属性装饰一些控制器操作方法 .

所以,当我没有登录时,它不会进行任何重定向,只显示该控制器操作的空白页面 . 我已经完成了几个教程,他们谈论了Cookie身份验证 .

所以,我在Startup.cs中进行了更改并添加了以下内容:

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    AuthenticationScheme = "Cookie",
    LoginPath = new PathString("/Account/Login/"),
    AccessDeniedPath = new PathString("/Account/Forbidden/"),
    AutomaticAuthenticate = true,
    AutomaticChallenge = true
});

我还在Authorize属性中进行了更改,以包含ActiveAuthenticationScheme:

[Authorize(ActiveAuthenticationSchemes = "Cookie")]

现在,当我尝试转到该控制器操作时,我获得了登录页面 . 我能够成功登录,但我再次被重定向到登录页面,而不是显示控制器操作方法View .

我可以告诉我已成功登录,因为我可以看到我的电子邮件和页面顶部的“注销”按钮(部分视图的布局) . 好像我已经过身份验证但未经过授权 . 确实,我应该看到禁止的页面,但我只看到登录页面 .

我在这里错过了什么吗?为什么即使登录后我也被重定向到登录页面?

.