我花了很多時間在這件事上,看起來很簡單,但找不到解決方案。創(chuàng)建一個項目并運行良好,登錄,注冊等。但授權(quán)不適用于角色。創(chuàng)建并設(shè)置角色:但嘗試訪問時總是返回 Access Denied:public class _ConfigurationsController : Controller{ [Authorize(Roles = "AdminApp")] public IActionResult Index() { return View(); }}啟動.cs ...public void ConfigureServices(IServiceCollection services){ services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request. options.CheckConsentNeeded = context => true; options.MinimumSameSitePolicy = SameSiteMode.None; }); services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MyConnection"))); services.AddDbContext<Scaffolding_AutoGer_Context>(options => options.UseSqlServer(Configuration.GetConnectionString("MyConnection"))); services.AddDefaultIdentity<IdentityUser>() .AddRoles<IdentityRole>() .AddRoleManager<RoleManager<IdentityRole>>() .AddDefaultTokenProviders() .AddEntityFrameworkStores<ApplicationDbContext>(); services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);}public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider){ if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseDatabaseErrorPage(); } else { app.UseExceptionHandler("/Home/Error"); app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseCookiePolicy(); app.UseAuthentication(); app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });}AspNet用戶表AspNetUserRoles 表MVC - 腳手架項目個人賬戶登錄.NET Core 2.1 VS 2017
1 回答

叮當貓咪
TA貢獻1776條經(jīng)驗 獲得超12個贊
我認為您的問題與沒有配置策略有關(guān)。在public void ConfigureServices(IServiceCollection services)
指定這些。
?services.AddAuthorization(options?=> ????????????options.AddPolicy("AdminApp", ????????????????policy?=>?policy.RequireClaim("Manager")));
- 1 回答
- 0 關(guān)注
- 283 瀏覽
添加回答
舉報
0/150
提交
取消