ASP.NETCore3.1MVC登录后无法转到管理员页面
创始人
2024-09-17 09:30:22
0

这可能是因为在 ASP.NET Core Identity 中未正确配置角色和授权问题。您可以使用以下代码示例来配置角色和授权:

在 Startup.cs 文件中,添加以下代码:

services.AddAuthorization(options =>
{
    options.AddPolicy("RequireAdminRole", policy => policy.RequireRole("Admin"));
});

services.ConfigureApplicationCookie(options =>
{
    options.AccessDeniedPath = "/Account/AccessDenied";
    options.Cookie.Name = "YourAppCookieName";
    options.Cookie.HttpOnly = true;
    options.ExpireTimeSpan = TimeSpan.FromMinutes(60);
    options.LoginPath = "/Account/Login";
    options.ReturnUrlParameter = CookieAuthenticationDefaults.ReturnUrlParameter;
    options.SlidingExpiration = true;
});

services.AddDefaultIdentity(options => options.SignIn.RequireConfirmedAccount = true)
    .AddRoles()
    .AddEntityFrameworkStores();

以上代码将添加名为 “RequireAdminRole” 的自定义策略,并要求当前用户必须具有名为 “Admin” 的角色才能访问受保护的页面。

在需要受保护的控制器或操作中,使用以下代码:

[Authorize(Policy = "RequireAdminRole")]
public class AdminController : Controller
{
    // 管理员页处理代码
}

您需要将 “Admin” 角色添加到相应用户的角色列表中。您可以在以下操作中添加或移除角色:

var roleManager = serviceProvider.GetRequiredService>();
var userManager = serviceProvider.GetRequiredService>();

var roleName = "Admin";
var roleExist = await roleManager.RoleExistsAsync(roleName);

if (!roleExist)
{
    await roleManager.CreateAsync(new IdentityRole(roleName));
}

var user = await userManager.GetUserAsync(User);

if (user != null)
{
    var adminRoleExist = await userManager.IsInRoleAsync(user, roleName);

    if (!adminRoleExist)
    {
        await userManager.AddToRoleAsync(user, roleName);
    }
}

这应该解决了您在 ASP.NET Core 3.1 MVC 中登录后无法转到管理员页面的问题。

相关内容

热门资讯

8分钟带你解说!吉祥填大坑有什... 8分钟带你解说!吉祥填大坑有什么诀窍(辅助挂)果然真的是有挂(有挂秘诀)-哔哩哔哩;小薇(透视辅助)...
第八分钟带你普及!战神辅助官网... 第八分钟带你普及!战神辅助官网(辅助挂)一直是有挂的(有挂规律)-哔哩哔哩;1、完成战神辅助官网的残...
第七分钟带你科普!微信黑科技辅... 第七分钟带你科普!微信黑科技辅助神器(辅助挂)其实真的有挂(确实有挂)-哔哩哔哩;详细微信黑科技辅助...
第4分钟带你开挂!家乡大贰智能... 第4分钟带你开挂!家乡大贰智能辅助(辅助挂)一直真的是有挂(有人有挂)-哔哩哔哩;1、让任何用户在无...
第4分钟带你透视!微信蜀山四川... 第4分钟带你透视!微信蜀山四川修改器先测试(辅助挂)其实真的是有挂(新版有挂)-哔哩哔哩;是一款可以...
三分钟带你了解!来物局潮汕麻雀... 三分钟带你了解!来物局潮汕麻雀(辅助挂)其实真的是有挂(有挂细节)-哔哩哔哩;亲真的是有正版授权,小...
热点推荐"白银胡乐辅... 热点推荐"白银胡乐辅助最简单三个步骤"开挂(透视)辅助平台(其实真的有挂的)-哔哩哔哩;人气非常高,...
1分钟带你得知!哥哥打大a辅助... 1分钟带你得知!哥哥打大a辅助神器(辅助挂)原来真的是有挂(有挂总结)-哔哩哔哩;1.哥哥打大a辅助...
一分钟揭秘"四川途游... 一分钟揭秘"四川途游辅助软件下载"开挂(透视)辅助安装(一直确实是有挂)-哔哩哔哩;相信小伙伴都知道...
十分钟带你介绍!四川麻将口诀顺... 十分钟带你介绍!四川麻将口诀顺口溜(辅助挂)果然真的有挂(有挂方式)-哔哩哔哩;1.四川麻将口诀顺口...