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