使用身份更改.NET Core 2.2中的登录 /注销页面



我在每个版本的.NET核心中都做了不同的操作,但是现在在2.2中我无法正确重定向。

这是我在 startup.cs 上使用的内容:

(这是一个默认的新项目)

services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
    .AddRazorPagesOptions(options =>
    {
      options.AllowAreas = true;
      options.Conventions.AuthorizeAreaFolder("Identity", "/Account/Manage");
      options.Conventions.AuthorizeAreaPage("Identity", "/Account/Logout");
    });
services.ConfigureApplicationCookie(options =>
  {
    options.LoginPath = $"/Identity/Account/Login";
    options.LogoutPath = $"/Identity/Account/Logout";
    options.AccessDeniedPath = $"/Identity/Account/AccessDenied";
  });

更改登录路径或注销路径当前什么都不做。这里有任何建议我可能缺少什么?

好吧!确定问题。如果您将.AddDefaultUI()与身份服务注册一起使用,则覆盖默认的options.LoginPath将不起作用。因此,要使用您的自定义登录路径进行未经授权的用户重定向,请注释.AddDefaultUI()如下:

services.AddIdentity<ApplicationUser, IdentityRole>()
                //.AddDefaultUI(UIFramework.Bootstrap4) <-- you have to comment out this
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

现在应该起作用。这是GitHub问题

相关内容

  • 没有找到相关文章

最新更新