3

我有一个 ASP.NET Core 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。

我可以说我已成功登录,因为我可以在页面顶部看到我的电子邮件和“注销”按钮(带有部分视图的布局)。似乎我已通过身份验证但未授权。确实,我应该看到禁止页面,但我只看到登录页面。

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

.

4

0 回答 0