@Ivan_Worker

Не получается пройти через ограничение по ролям, хотя у пользователя есть всё, что нужно. Может я чего-то не замечаю?

public void ConfigureServices(IServiceCollection services)
        {

            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseSqlServer(
                    Configuration.GetConnectionString("DefaultConnection")));
            services.AddDefaultIdentity<UserId>(options =>
            {
                options.Password.RequireDigit = true;
                options.Password.RequiredLength = 5;
                options.Password.RequireUppercase = true;
                options.Lockout.MaxFailedAccessAttempts = 5;
                options.User.RequireUniqueEmail = true;
                options.SignIn.RequireConfirmedEmail = false;
            })
                .AddRoles<IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>();
            
            services.AddAuthorization(options => {
                options.AddPolicy("AdministratorRole", policy =>
                    policy.RequireRole("Administrator"));
                options.AddPolicy("UserRole", policy =>
                    policy.RequireRole("User"));
            });

            services.AddControllersWithViews();
            services.AddRazorPages();
        }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseMigrationsEndPoint();
            }
            else
            {
                app.UseExceptionHandler("/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapRazorPages();
            });
        }


[Authorize(Policy = "AdministratorRole")]
    public class InGameModel : PageModel
    {
public void OnGet() {

        }
public void onPost() {

        }
}

61c0e34e028c1273802562.png
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
@Ivan_Worker Автор вопроса
Я нашёл ответ. Если кому интересно, то ловите ссылку https://stackoverflow.com/questions/29285406/refre...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы