小编Str*_*ous的帖子

授权(角色=“管理员”)在.net core 3.0中不起作用

我一直在努力解决 .net core 3.0 应用程序中的授权位问题。我的 User.IsInRole("Admin") 返回 true,但如果我将 [Authorize(Roles="Admin")] 添加到控制器,则管理员用户无法访问该页面。这是我的startup.cs文件和控制器中的代码:Startup.cs:

public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<ICanDBContext>(options => options.UseSqlServer(Configuration.GetConnectionString("ICanDBConnection")));
            var cultureInfo = new CultureInfo("en-GB");
            CultureInfo.DefaultThreadCurrentCulture = cultureInfo;
            CultureInfo.DefaultThreadCurrentUICulture = cultureInfo;

            services.AddIdentity<User, IdentityRole>()
                .AddRoles<IdentityRole>()
            .AddEntityFrameworkStores<ICanDBContext>();

            services.AddAuthorization(options =>
            options.AddPolicy("Role",
                policy => policy.RequireClaim(claimType: ClaimTypes.Role,"Admin")));

            services.AddControllersWithViews(options =>
            {
                var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
                options.Filters.Add(new AuthorizeFilter(policy));
            });

            services.AddAutoMapper(typeof(Startup));
            services.AddSingleton<IConfiguration>(Configuration);
        }


public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseDeveloperExceptionPage();

                //app.UseExceptionHandler("/Home/Error");
            }

            app.UseRouting();
            app.UseStaticFiles();
            app.UseHttpsRedirection();
            
            app.UseAuthorization();
            app.UseAuthentication();

            app.UseEndpoints(endpoints =>
Run Code Online (Sandbox Code Playgroud)

登录页面:

if …
Run Code Online (Sandbox Code Playgroud)

asp.net-identity asp.net-core-3.1

3
推荐指数
1
解决办法
8777
查看次数

标签 统计

asp.net-core-3.1 ×1

asp.net-identity ×1