.Net Core 3 Identity - 角色中的用户不工作

.Net Core 3 Identity - User in Role not working

任何人都可以提出建议,因为我正在努力使用具有 ASP 身份和 SQL 的新 .Net Core 3.0 应用程序,它的行为就好像用户不是角色的成员一样几时。我看过但看不到任何类似的帖子 - 我最初关注的是这里的文档:https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles?view=aspnetcore-3.1

我已经创建了角色并向角色添加了一个用户:

我已确保 .addroles 已添加到 ConfigureServices 中,并且我还尝试将此作为策略应用到 startup.cs

 public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(
                Configuration.GetConnectionString("ConnectionString")));
        services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
            .AddRoles<IdentityRole>()
            .AddEntityFrameworkStores<ApplicationDbContext>();

       
        services.AddControllersWithViews();

        services.AddTransient<IEmailSender, EmailSender>();
        services.Configure<AuthMessageSenderOptions>(Configuration);

        services.ConfigureApplicationCookie(o => {
            o.ExpireTimeSpan = TimeSpan.FromDays(2);
            o.SlidingExpiration = true;              
        });

        services.Configure<DataProtectionTokenProviderOptions>(o =>
   o.TokenLifespan = TimeSpan.FromHours(3));

        services.AddRazorPages();
                   

        services.AddAuthorization(options =>
        {
            options.AddPolicy("RequireAdministratorRole",
                 policy => policy.RequireRole("System Administrators"));
        });


    }

在配置中我也参考了:

app.UseAuthorization();

如果我进一步查看,我可以看到该帐户确实在注册它是该角色的成员:

调试图片:

并通过在控制器中进行以下两次尝试:

  [Authorize(Policy = "RequireAdministratorRole")]
    public IActionResult Privacy()
    {
        return View();
    }


  [Authorize (Roles = "System Administrators")]
    public IActionResult Privacy()
    {
        return View();
    }

我一直收到访问被拒绝的视图:

拒绝观看:

我不知道为什么这行不通,请问有人能给我建议吗?

您的角色 'System Administrators' 中有一个 space。

角色不能有 space,请尝试 'SystemAdministrator'。