ASP.NETCore5MVC超级管理员连接
创始人
2024-09-17 11:30:37
0
  1. 首先定义一个对应管理员页面的控制器,并添加相应的Action方法,如下所示:
public class AdminController : Controller
{
    public IActionResult Index()
    {
        return View();
    }

    public IActionResult SuperAdmin()
    {
        return View();
    }
}
  1. 然后,在Startup.cs文件中添加身份验证和授权服务。
public void ConfigureServices(IServiceCollection services)
{
    // 添加身份验证
    services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
        .AddCookie(options =>
        {
            options.LoginPath = "/Account/Login";
            options.AccessDeniedPath = "/Account/AccessDenied";
        });

    // 添加授权服务
    services.AddAuthorization(options =>
    {
        // 添加超级管理员策略
        options.AddPolicy("SuperAdminPolicy", policy =>
        {
            policy.RequireClaim("IsSuperAdmin");
        });
    });

    services.AddControllersWithViews();
}

其中,在AddPolicy中添加一个超级管理员策略,要求具有IsSuperAdmin声明的用户才能访问超级管理员页面。

  1. 在Admin控制器中添加一个Action方法,该方法使用SuperAdminPolicy策略限制只能超级管理员访问。
[Authorize(Policy = "SuperAdminPolicy")]
public IActionResult SuperAdmin()
{
    return View();
}
  1. 最后,在超级管理员的登录方法中添加声明IsSuperAdmin并将其值设置为true,如下所示:
public async Task Login(LoginViewModel model, string returnUrl = null)
{
    // 验证用户身份信息
    var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, lockoutOnFailure: false);
    if (result.Succeeded)
    {
        // 获取当前用户信息
        var user = await _userManager.FindByNameAsync(model.UserName);
        if (user != null)
        {
            // 设置IsSuperAdmin声明为true
            var claims = new List
            {
                new Claim("IsSuperAdmin", "true")
            };
            await _userManager.AddClaims

相关内容

热门资讯

总算了解!德州poker有外挂... 总算了解!德州poker有外挂,广东雀神小程序辅助器最新版,中至鹰潭麻将有没有猫腻(有挂细节)1、完...
实操分享!德扑分析软件,微信雀... 实操分享!德扑分析软件,微信雀神麻将软挂神器,小甘麻将助赢神器(有挂方法)1、很好的工具软件,可以解...
发现一款!wpk数据清零,雀神... 发现一款!wpk数据清零,雀神辅助器插件,福建天天开心辅助工具下载(有挂工具);1、游戏颠覆性的策略...
热点推荐!微扑克wpk辅助软件... 热点推荐!微扑克wpk辅助软件,雀神广东麻雀外挂怎么用,28圈有没有外挂(有挂工具)热点推荐!微扑克...
必备攻略!微扑克ai辅助工具,... 必备攻略!微扑克ai辅助工具,雀神小程序有挂的吗,雀魂有没有辅助器(有挂揭秘);1、下载好雀魂有没有...
热门推荐!fishpoker正... 您好,浙江游戏大厅辅助器随意选牌这款游戏可以开挂的,确实是有挂的,需要了解加微【757446909】...
今日头条!德扑之星发牌,雀神辅... 今日头条!德扑之星发牌,雀神辅助器免费下载,桂林字牌十打九赢的方法(有挂辅助)一、桂林字牌十打九赢的...
重大推荐!wepoke软件透明... 重大推荐!wepoke软件透明功能实现方法,广东雀神麻雀辅助器,老友麻将有挂的吗(有挂黑科技)1、老...
重大科普!德扑胜率计算的软件,... 重大科普!德扑胜率计算的软件,微信雀神广东麻雀小程序辅助免费,悠闲麻将川南版有假吗(有挂解密);1、...
免费测试版!wpk透视辅助可测... 免费测试版!wpk透视辅助可测试真的,广东雀神辅助器微信插件,闲逸斗地主app外 挂(有挂辅助)1、...