我有一个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。
我可以说我已成功登录,因为我可以看到我的电子邮件和“注销”。页面顶部的按钮(部分视图布局)。好像我已经过身份验证但未经过授权。确实,我应该看到禁止的页面,但我只看到登录页面。
我在这里遗漏了什么吗?为什么即使登录后我也被重定向到登录页面?