ASP.NETMVC5:根据用户角色限制可编辑字段。
创始人
2024-09-19 03:30:53
0次
  1. 添加用户角色属性到用户模型 在用户模型中添加一个属性来存储用户的角色。例如,可以使用一个字符串数组来存储用户的角色列表。

public class ApplicationUser : IdentityUser { public string[] Roles { get; set; } }

  1. 创建自定义属性来限制可编辑字段 创建一个自定义属性,用于限制可编辑字段的访问级别。该属性应接受一个或多个角色名称,并将其存储在属性中。

public class RestrictByRoleAttribute : ActionFilterAttribute { private readonly string[] _roles;

public RestrictByRoleAttribute(params string[] roles)
{
    this._roles = roles;
}

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
    var user = filterContext.HttpContext.GetUser();

    if (user != null && user.Roles.Intersect(this._roles).Any())
    {
        base.OnActionExecuting(filterContext);
    }
    else
    {
        filterContext.Result = new HttpUnauthorizedResult();
    }
}

}

  1. 在控制器方法中使用RestrictByRoleAttribute 在控制器方法上使用RestrictByRoleAttribute来限制可编辑字段和用户角色之间的关系。只有在用户具有与要编辑字段相关联的角色时,才能编辑该字段。如下所示:

[HttpPost] [RestrictByRole("Admin")] public ActionResult Edit(UserViewModel user) { ... }

上面的代码将限制只有在用户具有“Admin”角色时,才能编辑用户视图模型。

从用户模型获取用户角色并与RestrictByRoleAttribute一起使用,可以轻松地实现根据用户角色限制可编辑字段的功能。

相关内容

热门资讯

实操分享辅助挂!we-poke... 本地部署 AI 黑科技工具迎来新版本,不用上传文件到云端就能完成we-poker辅助解析、 AI 处...
热门推荐透视!we poker... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
玩家交流透视挂!wpk透视是真... AI 黑科技赛道又上新,这款智能处理工具堪称效率开挂,专门面向短视频创作者打造。它打通脚本撰写、AI...
AI教程辅助!wepoker有... AI教程辅助!wepoker有透视底牌吗,微扑克开挂技巧插件(往昔是真的有辅助)主打本地运行的 AI...
最新技巧!辅助挂!WPK购买,... 最新技巧!辅助挂!WPK购买,WPK可以开挂吗安装(确实真的是有辅助挂)AI 是一款可以让一直输的玩...
今日焦点透视挂!wpk德州局怎... 一款 AI 游戏攻略黑科技工具上线,查攻略效率直接开挂。它整合版本更新、装备搭配、BOSS 打法、牌...
2分钟细说透视挂!wepoke... 您好,2分钟细说透视挂!wepoker底牌透视,德扑之星怎么开挂工具(素来真的是有透视挂)这款游戏可...
玩家必备教程透视挂!WPK工具... 玩家必备教程透视挂!WPK工具,WPK可以装挂吗插件(从来有透视挂)主打本地运行的 AI 黑科技工具...
热点推荐辅助!wejoker辅... wejoker辅助软件AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数...
盘点一款辅助器!微扑克游戏辅助... 微扑克游戏辅助器AI 游戏攻略黑科技上线本地缓存功能,离线查阅能力开挂。提前下载对应游戏攻略数据包,...