/// <summary> /// 保存 /// </summary> /// <param name="theData">保存的数据</param> public ActionResult SaveData(Base_User theData, string Pwd, string RoleIdList) { if (!Pwd.IsNullOrEmpty()) { theData.Password = Pwd.ToMD5String(); } var roleIdList = RoleIdList.ToList <string>(); if (theData.Id.IsNullOrEmpty()) { theData.Id = Guid.NewGuid().ToSequentialGuid(); theData.UserId = Guid.NewGuid().ToSequentialGuid(); _baseUserRepository.AddData(theData); } else { _baseUserRepository.UpdateData(theData); } _baseUserRepository.SetUserRole(theData.UserId, roleIdList); PermissionManage.UpdateUserPermissionCache(theData.UserId); return(Success()); }
/// <summary> /// 设置角色权限 /// </summary> /// <param name="roleId">角色Id</param> /// <param name="permissions">权限值</param> /// <returns></returns> public ActionResult SavePermission(string roleId, string permissions) { _base_SysRoleBusiness.SavePermission(roleId, permissions.ToList <string>()); PermissionManage.ClearUserPermissionCache(); return(Success()); }
/// <summary> /// 删除数据 /// </summary> /// <param name="theData">删除的数据</param> public ActionResult DeleteData(string ids) { _base_SysRoleBusiness.DeleteData(ids.ToList <string>()); PermissionManage.ClearUserPermissionCache(); return(Success("删除成功!")); }
public IActionResult SetPermission(string roleObjectId, string rName) { ViewData["roleObjectId"] = roleObjectId; ViewData["rName"] = rName; //获取角色已有权限项ID ViewData["permissionList"] = PermissionManage.GetPermissionByRole(roleObjectId); //获取所有菜单 禁用的前端进行了控制 var menus = _sysMenusService.GetList(m => true).Include("SysFunction").OrderBy(m => m.Hierarchy).ThenBy(m => m.Sort).ToList(); return(View(menus)); }
/// <summary> /// Action执行之前执行 /// </summary> /// <param name="filterContext">过滤器上下文</param> public void OnActionExecuting(ActionExecutingContext filterContext) { //若为本地测试,则不需要校验 if (GlobalSwitch.RunModel == RunModel.LocalTest) { return; } AjaxResult res = new AjaxResult(); //判断是否需要校验 List <string> attrList = FilterHelper.GetFilterList(filterContext); bool needCheck = attrList.Contains(typeof(CheckAppIdPermissionAttribute).FullName) && !attrList.Contains(typeof(IgnoreAppIdPermissionAttribute).FullName); if (!needCheck) { return; } var allRequestParams = HttpHelper.GetAllRequestParams(filterContext.HttpContext); if (!allRequestParams.ContainsKey("appId")) { res.Success = false; res.Msg = "缺少appId参数!"; filterContext.Result = new ContentResult { Content = res.ToJson() }; } string appId = allRequestParams["appId"]?.ToString(); var allUrlPermissions = UrlPermissionManage.GetAllUrlPermissions(); string requestUrl = filterContext.HttpContext.Request.Path; var thePermission = allUrlPermissions.Where(x => requestUrl.Contains(x.Url.ToLower())).FirstOrDefault(); if (thePermission == null) { return; } string needPermission = thePermission.PermissionValue; bool hasPermission = PermissionManage.GetAppIdPermissionValues(appId).Any(x => x.ToLower() == needPermission.ToLower()); if (hasPermission) { return; } else { res.Success = false; res.Msg = "权限不足!访问失败!"; filterContext.Result = new ContentResult { Content = res.ToJson() }; } }
/// <summary> /// 获取用户菜单 /// </summary> /// <returns></returns> public static List <Menu> GetOperatorMenu() { List <Menu> resList = InitAllMenu(); if (Operator.IsAdmin()) { return(resList); } var userPermissions = PermissionManage.GetUserPermissionValues(Operator.UserId); SetSubMenuShow(resList, userPermissions, 1); return(resList); }
public void SetUserRole(string userId, List <string> roleIds) { Service.Delete <Base_UserRoleMap>(x => x.UserId == userId); var insertList = roleIds.Select(x => new Base_UserRoleMap { Id = GuidHelper.GenerateKey(), UserId = userId, RoleId = x }).ToList(); Service.Insert(insertList); _cache.UpdateCache(userId); _userRoleCache.UpdateCache(userId); PermissionManage.UpdateUserPermissionCache(userId); }
/// <summary> /// Action执行之前执行 /// </summary> /// <param name="filterContext">过滤器上下文</param> public void OnActionExecuting(ActionExecutingContext filterContext) { //若为本地测试,则不需要校验 if (GlobalSwitch.RunModel == RunModel.LocalTest) { return; } //判断是否需要校验 List <string> attrList = FilterHelper.GetFilterList(filterContext); bool needCheck = attrList.Contains(typeof(CheckUrlPermissionAttribute).FullName) && !attrList.Contains(typeof(IgnoreUrlPermissionAttribute).FullName); if (!needCheck) { return; } var allUrlPermissions = UrlPermissionManage.GetAllUrlPermissions(); string requestUrl = filterContext.HttpContext.Request.Path; var thePermission = allUrlPermissions.Where(x => requestUrl.Contains(x.Url.ToLower())).FirstOrDefault(); if (thePermission == null) { return; } string needPermission = thePermission.PermissionValue; bool hasPermission = PermissionManage.GetOperatorPermissionValues().Any(x => x.ToLower() == needPermission.ToLower()); if (hasPermission) { return; } else { AjaxResult res = new AjaxResult { Success = false, Msg = "权限不足!无法访问!" }; filterContext.Result = new ContentResult { Content = res.ToJson() }; } }
/// <summary> /// Action执行之前执行 /// </summary> /// <param name="filterContext">过滤器上下文</param> public void OnActionExecuting(ActionExecutingContext filterContext) { //若为本地测试,则不需要校验 if (GlobalSwitch.RunModel == RunModel.LocalTest) { return; } //判断是否需要校验 bool needCheck = filterContext.ContainsAttribute <CheckUrlPermissionAttribute>() && !filterContext.ContainsAttribute <IgnoreUrlPermissionAttribute>(); if (!needCheck) { return; } var allUrlPermissions = UrlPermissionManage.GetAllUrlPermissions(); string requestUrl = filterContext.HttpContext.Request.Url.ToString().ToLower(); var thePermission = allUrlPermissions.Where(x => requestUrl.Contains(x.Url.ToLower())).FirstOrDefault(); if (thePermission == null) { return; } string needPermission = thePermission.PermissionValue; bool hasPermission = PermissionManage.GetOperatorPermissionValues().Any(x => x.ToLower() == needPermission.ToLower()); if (hasPermission) { return; } else { AjaxResult res = new AjaxResult { Success = false, Msg = "权限不足!无法访问!" }; filterContext.Result = new ContentResult { Content = res.ToJson(), ContentEncoding = Encoding.UTF8 }; } }
public ActionResult SavePermission(string appId, string permissions) { PermissionManage.SetAppIdPermission(appId, permissions.ToList <string>()); return(Success()); }
/// <summary> /// 获取以模块为分组的权限点集合 /// </summary> /// <returns></returns> public List <PermissionResponse> GetPermissionsGroupByModule() { var manage = new PermissionManage(); return(manage.GroupByModule()); }
/// <summary> /// 获取所有权限点 /// </summary> /// <returns></returns> public List <Data.Entity.Permission> GetAllPermissions() { var manage = new PermissionManage(); return(manage.AllPermissions); }
public ActionResult Save(Domain.SYS_PERMISSION entity) { bool isEdit = false; JsonHelper json = new JsonHelper() { Msg = "保存权限成功", Status = "n" }; try { if (entity != null) { if (System.Text.Encoding.GetEncoding("gb2312").GetBytes(entity.NAME.Trim()).Length > 50) { json.Msg = "权限的名称长度不能超过50个字符"; return(Json(json)); } entity.ICON = Request.Form["ICON"]; var nextpervalue = Request.Form["NEXTPERVALUE"]; if (!string.IsNullOrEmpty(nextpervalue)) { if (!Regex.IsMatch(nextpervalue, @"^[A-Za-z0-9]{1,20}$")) { json.Msg = "权限值只能以英文数字组成,长度不能超过20个字符"; return(Json(json)); } entity.PERVALUE = nextpervalue; } //添加 if (entity.ID <= 0) { entity.CREATEDATE = DateTime.Now; entity.UPDATEDATE = DateTime.Now; entity.UPDATEUSER = this.CurrentUser.Name; entity.CREATEUSER = this.CurrentUser.Name; } else //编辑 { entity.UPDATEUSER = this.CurrentUser.Name; entity.UPDATEDATE = DateTime.Now; isEdit = true; } //同一模块下权限不能重复 if (!this.PermissionManage.IsExist(p => p.NAME.Equals(entity.NAME) && p.ID != entity.ID && p.MODULEID == entity.MODULEID)) { if (PermissionManage.SaveOrUpdate(entity, isEdit)) { json.Status = "y"; } else { json.Msg = "保存失败"; } } else { json.Msg = "权限" + entity.NAME + "同一模块下已存在,不能重复添加"; } } else { json.Msg = "未找到要保存的权限记录"; } if (isEdit) { WriteLog(Common.Enums.enumOperator.Edit, "修改权限,结果:" + json.Msg, Common.Enums.enumLog4net.INFO); } else { WriteLog(Common.Enums.enumOperator.Add, "添加权限,结果:" + json.Msg, Common.Enums.enumLog4net.INFO); } } catch (Exception e) { json.Msg = "保存权限发生内部错误!"; WriteLog(Common.Enums.enumOperator.None, "对模块权限按钮的管理保存权限:", e); } return(Json(json)); }
public IActionResult SetPermission(string roleObjectId, string permissions, string tag) { var res = PermissionManage.SetPermissionWithRole(roleObjectId, permissions.ToList <string>()); return(Json(res)); }
/// <summary> /// 保存权限 /// </summary> /// <param name="userId">用户Id</param> /// <param name="permissions">权限</param> /// <returns></returns> public ActionResult SavePermission(string userId, string permissions) { PermissionManage.SetUserPermission(userId, permissions.ToList <string>()); return(Success()); }