Example #1
0
        public void SubmitForm(SysRole SysRole, string[] permissionIds, string keyValue)
        {
            if (!string.IsNullOrEmpty(keyValue))
            {
                SysRole.Id = keyValue;
            }
            else
            {
                SysRole.Id = Common.GuId();
            }
            var moduledata = _SysModuleService.GetList();
            var buttondata = _SysModuleButtonService.GetList();
            List <SysRoleAuthorize> SysRoleAuthorizes = new List <SysRoleAuthorize>();

            foreach (var itemId in permissionIds)
            {
                SysRoleAuthorize SysRoleAuthorize = new SysRoleAuthorize();
                SysRoleAuthorize.Id         = Common.GuId();
                SysRoleAuthorize.ObjectType = 1;
                SysRoleAuthorize.ObjectId   = SysRole.Id;
                SysRoleAuthorize.ItemId     = itemId;
                if (moduledata.Find(t => t.Id == itemId) != null)
                {
                    SysRoleAuthorize.ItemType = 1;
                }
                if (buttondata.Find(t => t.Id == itemId) != null)
                {
                    SysRoleAuthorize.ItemType = 2;
                }
                SysRoleAuthorizes.Add(SysRoleAuthorize);
            }
            _Respository.SubmitForm(SysRole, SysRoleAuthorizes, keyValue);
        }
Example #2
0
        public ActionResult Main()
        {
            //车场首页权限
            SysRoleAuthorize homeAuthorize = GetLoginUserRoleAuthorize.FirstOrDefault(p => p.ModuleID == "PK010507");

            if (homeAuthorize == null)
            {
                return(RedirectToAction("Empty", "Home"));
            }
            return(View());
        }
Example #3
0
        private void GetChildRoles(SysRoles role, SysRoleAuthorize rootModule, List <SysRoleAuthorize> roles, StringBuilder childTree, List <SysRoleAuthorize> dbRoles, string roleId)
        {
            List <SysRoleAuthorize> childRights = roles.Where(p => p.ParentID == rootModule.ModuleID).ToList();

            if (childRights.Count == 0)
            {
                return;
            }

            if (childRights.Count > 0)
            {
                childTree.Append(",\"state\":\"closed\",\"children\":[");
            }
            int i = 1;

            foreach (var obj in childRights)
            {
                childTree.Append("{\"id\":\"" + obj.ModuleID + "_" + obj.ParentID + "_" + roleId + "\",");
                //childTree.Append("\"attributes\":{\"type\":1},");
                childTree.Append("\"text\":\"" + obj.ModuleName + "\",");
                //if (dbRoles != null && dbRoles.Exists(p => p.ModuleID == obj.ModuleID) && !dbRoles.Exists(p => p.ParentID == obj.ModuleID))
                //{
                //    childTree.Append(",\"checked\":true");
                //}
                bool isDefaultRole = false;
                if (role.IsDefaultRole == YesOrNo.Yes && obj.IsSystemDefault)
                {
                    isDefaultRole = true;
                    childTree.Append("\"attributes\":{\"type\":1,\"isdefault\":1},");
                    childTree.Append("\"checked\":true");
                }
                if (!isDefaultRole)
                {
                    childTree.Append("\"attributes\":{\"type\":1,\"isdefault\":0}");
                }
                if (!isDefaultRole && dbRoles != null && dbRoles.Exists(p => p.ModuleID == obj.ModuleID) && !dbRoles.Exists(p => p.ParentID == obj.ModuleID))
                {
                    childTree.Append(",\"checked\":true");
                }
                GetChildRoles(role, obj, roles, childTree, dbRoles, roleId);

                childTree.Append("}");
                if (i != childRights.Count())
                {
                    childTree.Append(",");
                }
                i++;
            }
            if (childRights.Count > 0)
            {
                childTree.Append("]");
            }
        }
Example #4
0
        private static List <SysRoleAuthorize> GetCompanyDefaultSysRoleAuthorizeCS(string roleId, string systemmodelepath)
        {
            List <SysRoleAuthorize> rights = new List <SysRoleAuthorize>();
            XDocument xdoc = XDocument.Load(systemmodelepath);

            foreach (XElement element in xdoc.Root.Elements())
            {
                string defaultModule = element.Attribute("SystemDefault").Value;

                SysRoleAuthorize right      = new SysRoleAuthorize();
                string           moduleId   = element.Attribute("ModuleID").Value;
                string           moduleName = element.Attribute("ModuleName").Value;
                string           parentId   = element.Attribute("ParentID").Value;
                right.RecordID   = GuidGenerator.GetGuidString();
                right.RoleID     = roleId;
                right.ModuleID   = moduleId;
                right.ModuleName = moduleName;
                right.ParentID   = parentId;
                rights.Add(right);
            }
            return(rights);
        }
Example #5
0
        private void FillDefaultModule(List <SysRoleAuthorize> models, SysRoles role)
        {
            if (role.IsDefaultRole != YesOrNo.Yes)
            {
                return;
            }

            XDocument xdoc = XDocument.Load(Server.MapPath("~/SystemModule.xml"));

            foreach (XElement element in xdoc.Root.Elements())
            {
                string isSystemDefault = element.Attribute("SystemDefault").Value;
                if (isSystemDefault != "true")
                {
                    continue;
                }

                string moduleId = element.Attribute("ModuleID").Value;
                if (models.Count(p => p.ModuleID == moduleId) > 0)
                {
                    continue;
                }

                string moduleName = element.Attribute("ModuleName").Value;
                string parentId   = element.Attribute("ParentID").Value;


                SysRoleAuthorize model = new SysRoleAuthorize();
                model.RecordID        = GuidGenerator.GetGuid().ToString();
                model.RoleID          = role.RecordID;
                model.ModuleID        = moduleId;
                model.ParentID        = parentId;
                model.ModuleName      = moduleName;
                model.IsSystemDefault = true;
                models.Add(model);
            }
        }
Example #6
0
        private static List <SysRoleAuthorize> GetCompanyDefaultSysRoleAuthorize(string roleId)
        {
            List <SysRoleAuthorize> rights = new List <SysRoleAuthorize>();
            XDocument xdoc = XDocument.Load(System.Web.HttpContext.Current.Server.MapPath("~/SystemModule.xml"));

            foreach (XElement element in xdoc.Root.Elements())
            {
                string defaultModule = element.Attribute("SystemDefault").Value;
                if (defaultModule == "true")
                {
                    SysRoleAuthorize right      = new SysRoleAuthorize();
                    string           moduleId   = element.Attribute("ModuleID").Value;
                    string           moduleName = element.Attribute("ModuleName").Value;
                    string           parentId   = element.Attribute("ParentID").Value;
                    right.RecordID   = GuidGenerator.GetGuidString();
                    right.RoleID     = roleId;
                    right.ModuleID   = moduleId;
                    right.ModuleName = moduleName;
                    right.ParentID   = parentId;
                    rights.Add(right);
                }
            }
            return(rights);
        }
Example #7
0
        public JsonResult SaveRoleModule()
        {
            try
            {
                if (string.IsNullOrWhiteSpace(Request.Params["roleId"]))
                {
                    throw new MyException("请选择角色");
                }

                string   roleId = Request.Params["roleId"].ToString();
                SysRoles role   = SysRolesServies.QuerySysRolesByRecordId(roleId);
                if (role == null)
                {
                    throw new MyException("获取角色信息失败");
                }

                if (role.IsDefaultRole == YesOrNo.No && string.IsNullOrWhiteSpace(Request.Params["selectModuleIds"]))
                {
                    throw new MyException("请选择需要授权的模块");
                }

                string roleModules             = Request.Params["selectModuleIds"].ToString();
                List <SysRoleAuthorize> models = new List <SysRoleAuthorize>();
                if (!string.IsNullOrWhiteSpace(roleModules))
                {
                    string[] strRoles = roleModules.Split(',');
                    for (int i = 0; i < strRoles.Length; i++)
                    {
                        string[] d = strRoles[i].Split('_');
                        if (d.Length != 3)
                        {
                            continue;
                        }

                        SysRoleAuthorize model = new SysRoleAuthorize();
                        model.RecordID = GuidGenerator.GetGuid().ToString();
                        model.RoleID   = role.RecordID;
                        model.ModuleID = d[0];
                        model.ParentID = d[1];
                        models.Add(model);
                    }
                }
                FillDefaultModule(models, role);

                if (models.Count == 0)
                {
                    throw new MyException("获取模块信息失败");
                }

                bool result = SysRoleAuthorizeServices.Add(models);
                if (!result)
                {
                    throw new MyException("保存角色模块失败");
                }

                CacheData.UpdateCacheUserLoginData(GetLoginUser.RecordID);
                return(Json(MyResult.Success()));
            }
            catch (MyException ex)
            {
                return(Json(MyResult.Error(ex.Message)));
            }
            catch (Exception ex)
            {
                ExceptionsServices.AddExceptions(ex, "保存角色模块授权失败");
                return(Json(MyResult.Error("保存失败")));
            }
        }
Example #8
0
        public string GetSystemModule()
        {
            try
            {
                List <SysRoleAuthorize> roles = new List <SysRoleAuthorize>();

                XDocument xdoc = XDocument.Load(Server.MapPath("~/SystemModule.xml"));
                foreach (XElement element in xdoc.Root.Elements())
                {
                    string moduleId        = element.Attribute("ModuleID").Value;
                    string moduleName      = element.Attribute("ModuleName").Value;
                    string parentId        = element.Attribute("ParentID").Value;
                    string isSystemDefault = element.Attribute("SystemDefault").Value;

                    SysRoleAuthorize role = new SysRoleAuthorize();
                    role.ModuleID        = moduleId;
                    role.ModuleName      = moduleName;
                    role.ParentID        = parentId;
                    role.IsSystemDefault = isSystemDefault == "true";
                    roles.Add(role);
                }


                if (string.IsNullOrWhiteSpace(Request.Params["roleId"]))
                {
                    return("[]");
                }

                string   roleId  = Request.Params["roleId"].ToString();
                SysRoles sysRole = SysRolesServies.QuerySysRolesByRecordId(roleId);

                StringBuilder strTree = new StringBuilder();
                strTree.Append("[{\"id\":\"" + sysRole.RecordID + "\",");
                strTree.Append("\"attributes\":{\"type\":0},");
                strTree.Append("\"text\":\"" + sysRole.RoleName + "[授权]\"");


                List <SysRoleAuthorize> rootModules = roles.Where(p => p.ParentID == "").ToList();
                if (rootModules.Count > 0)
                {
                    strTree.Append(",\"children\":[");
                }
                List <SysRoleAuthorize> roleAuthorizes = SysRoleAuthorizeServices.QuerySysRoleAuthorizeByRoleId(sysRole.RecordID);
                int i = 1;
                foreach (var item in rootModules)
                {
                    strTree.Append("{\"id\":\"" + item.ModuleID + "_" + item.ParentID + "_" + roleId + "\",");
                    strTree.Append("\"text\":\"" + item.ModuleName + "\",");
                    bool isDefaultRole = false;
                    if (sysRole.IsDefaultRole == YesOrNo.Yes && item.IsSystemDefault)
                    {
                        isDefaultRole = true;
                        strTree.Append("\"attributes\":{\"type\":1,\"isdefault\":1},");
                        strTree.Append("\"checked\":true");
                    }
                    if (!isDefaultRole)
                    {
                        strTree.Append("\"attributes\":{\"type\":1,\"isdefault\":0}");
                    }
                    if (!isDefaultRole && roleAuthorizes != null && roleAuthorizes.Exists(p => p.ModuleID == item.ModuleID) && !roleAuthorizes.Exists(p => p.ParentID == item.ModuleID))
                    {
                        strTree.Append(",\"checked\":true");
                    }

                    GetChildRoles(sysRole, item, roles, strTree, roleAuthorizes, roleId);
                    strTree.Append("}");
                    if (i != rootModules.Count())
                    {
                        strTree.Append(",");
                    }
                    i++;
                }
                if (rootModules.Count > 0)
                {
                    strTree.Append("]");
                }

                strTree.Append("}]");
                return(strTree.ToString());
            }
            catch (Exception ex)
            {
                ExceptionsServices.AddExceptions(ex, "获取角色授权模块失败");
                return("[]");
            }
        }
Example #9
0
        public async Task <ApiResult <string> > Put(string Id, EditSysModuleDto Params)
        {
            ApiResult <string> res   = new ApiResult <string>();
            TokenModelBeta     token = JwtToken.ParsingJwtToken(HttpContext);

            try
            {
                //添加模块
                SysModule sysModuleInfo = _mapper.Map <SysModule>(Params);
                sysModuleInfo.Id = Id;
                var IsSuccess = await _sysModuleService.UpdateAsync(sysModuleInfo);

                if (!IsSuccess)
                {
                    res.code    = (int)ApiEnum.Failure;
                    res.message = "错误:修改模块失败";
                }
                //找到模块对应当前角色授权
                SysRoleAuthorize sysRoleAuthorize = await _sysRoleAuthorizeService.QueryFirstAsync(s => s.RoleId == token.Role && s.ModuleId == Id);



                List <string> ModuleIds = new List <string>();
                //修改模块数据
                List <SysModuleAction> EditsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id != null));
                if (EditsysModuleActionList.Count() > 0)
                {
                    IsSuccess = await _sysModuleActionService.UpdateListAsync(EditsysModuleActionList);

                    if (!IsSuccess)
                    {
                        res.code    = (int)ApiEnum.Failure;
                        res.message = "错误:修改模块失败";
                    }
                    ModuleIds.AddRange(EditsysModuleActionList.Select(s => s.Id).ToList());
                }

                //添加模块请求
                List <SysModuleAction> AddsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id == null));
                if (AddsysModuleActionList.Count() > 0)
                {
                    foreach (var item in AddsysModuleActionList)
                    {
                        item.Id            = Guid.NewGuid().ToString();
                        item.ModuleId      = sysModuleInfo.Id;
                        item.CreatorTime   = DateTime.Now;
                        item.CreatorUserId = token.Id;
                    }
                    IsSuccess = await _sysModuleActionService.AddListAsync(AddsysModuleActionList);

                    if (!IsSuccess)
                    {
                        res.code    = (int)ApiEnum.Failure;
                        res.message = "错误:添加模块失败";
                    }
                    ModuleIds.AddRange(AddsysModuleActionList.Select(s => s.Id).ToList());


                    //添加模块权限 按钮权限
                    List <SysRoleAuthorizeAction> AddsysRoleAuthorizeList = new List <SysRoleAuthorizeAction>();
                    foreach (var item in AddsysModuleActionList)
                    {
                        SysRoleAuthorizeAction sysRoleAuthorizeInfo = new SysRoleAuthorizeAction();
                        sysRoleAuthorizeInfo.Id             = Guid.NewGuid().ToString();
                        sysRoleAuthorizeInfo.RoleAuthId     = sysRoleAuthorize.Id;
                        sysRoleAuthorizeInfo.ModuleActionId = item.Id;
                        sysRoleAuthorizeInfo.CreatorTime    = DateTime.Now;
                        sysRoleAuthorizeInfo.CreatorUserId  = token.Id;
                        AddsysRoleAuthorizeList.Add(sysRoleAuthorizeInfo);
                    }
                    IsSuccess = await _sysRoleAuthorizeActionService.AddListAsync(AddsysRoleAuthorizeList);

                    if (!IsSuccess)
                    {
                        res.code    = (int)ApiEnum.Failure;
                        res.message = "错误:添加模块按钮权限失败";
                    }
                }

                //删除不存在的模块请求
                await _sysModuleActionService.DeleteAsync(s => s.ModuleId == sysModuleInfo.Id && !ModuleIds.Contains(s.Id));
            }
            catch (Exception ex) {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }

            return(await Task.Run(() => res));
        }
Example #10
0
        public async Task <ApiResult <string> > Post(EditSysModuleDto Params)
        {
            ApiResult <string> res   = new ApiResult <string>();
            TokenModelBeta     token = JwtToken.ParsingJwtToken(HttpContext);

            try {
                //添加模块
                SysModule sysModuleInfo = _mapper.Map <SysModule>(Params);
                sysModuleInfo.CreatorTime   = DateTime.Now;
                sysModuleInfo.CreatorUserId = token.Id;
                sysModuleInfo.Id            = Guid.NewGuid().ToString();
                sysModuleInfo.DeleteMark    = false;
                var IsSuccess = await _sysModuleService.AddAsync(sysModuleInfo);

                if (!IsSuccess)
                {
                    res.code    = (int)ApiEnum.Failure;
                    res.message = "错误:添加模块失败";
                }

                //添加模块权限
                SysRoleAuthorize sysRoleAuthorize = new SysRoleAuthorize();
                sysRoleAuthorize.Id            = Guid.NewGuid().ToString();
                sysRoleAuthorize.RoleId        = token.Role;
                sysRoleAuthorize.ModuleId      = sysModuleInfo.Id;
                sysRoleAuthorize.CreatorTime   = DateTime.Now;
                sysRoleAuthorize.CreatorUserId = token.Id;
                IsSuccess = await _sysRoleAuthorizeService.AddAsync(sysRoleAuthorize);

                if (!IsSuccess)
                {
                    res.code    = (int)ApiEnum.Failure;
                    res.message = "错误:添加模块权限失败";
                }


                //添加模块请求
                List <SysModuleAction> AddsysModuleActionList = _mapper.Map <List <SysModuleAction> >(Params.SysModuleActionDtos.Where(s => s.Id == null));
                if (AddsysModuleActionList.Count() > 0)
                {
                    foreach (var item in AddsysModuleActionList)
                    {
                        item.Id            = Guid.NewGuid().ToString();
                        item.ModuleId      = sysModuleInfo.Id;
                        item.CreatorTime   = DateTime.Now;
                        item.CreatorUserId = token.Id;
                    }
                    IsSuccess = await _sysModuleActionService.AddListAsync(AddsysModuleActionList);

                    if (!IsSuccess)
                    {
                        res.code    = (int)ApiEnum.Failure;
                        res.message = "错误:添加子模块失败";
                    }


                    //添加模块权限 按钮权限
                    List <SysRoleAuthorizeAction> AddsysRoleAuthorizeList = new List <SysRoleAuthorizeAction>();
                    foreach (var item in AddsysModuleActionList)
                    {
                        SysRoleAuthorizeAction sysRoleAuthorizeInfo = new SysRoleAuthorizeAction();
                        sysRoleAuthorizeInfo.Id             = Guid.NewGuid().ToString();
                        sysRoleAuthorizeInfo.RoleAuthId     = sysRoleAuthorize.Id;
                        sysRoleAuthorizeInfo.ModuleActionId = item.Id;
                        sysRoleAuthorizeInfo.CreatorTime    = DateTime.Now;
                        sysRoleAuthorizeInfo.CreatorUserId  = token.Id;
                        AddsysRoleAuthorizeList.Add(sysRoleAuthorizeInfo);
                    }
                    IsSuccess = await _sysRoleAuthorizeActionService.AddListAsync(AddsysRoleAuthorizeList);

                    if (!IsSuccess)
                    {
                        res.code    = (int)ApiEnum.Failure;
                        res.message = "错误:添加模块按钮权限失败";
                    }
                }
            } catch (Exception ex) {
                res.code    = (int)ApiEnum.Error;
                res.message = "异常:" + ex.Message;
            }

            return(await Task.Run(() => res));
        }