private void OnUpdateServerSettings(object sender, EventArgs e) { List <Role> roles = new List <Role>(RoleManager.GetAllRoles()); List <string> rolesAdded = new List <string>(); foreach (string delete in _RolesView.RolesToDelete) { RoleManager.DeleteRole(delete); } foreach (KeyValuePair <string, Role> role in _RolesView.RolesToAdd) { List <string> permissions = (from rp in _RolesView.RolePermissions where rp.Key.ToLower() == role.Key.ToLower() select rp.Value).FirstOrDefault(); role.Value.AssignedPermissions = permissions != null?permissions.ToArray() : new List <string>().ToArray(); RoleManager.AddRole(role.Value); rolesAdded.Add(role.Key); } foreach (string role in rolesAdded) { _RolesView.RolesToAdd.Remove(role); } foreach (KeyValuePair <string, List <string> > roleEdit in _RolesView.RolePermissions) { Role role = (from r in roles where r.Name == roleEdit.Key select r).FirstOrDefault(); if (role != null) { List <string> permissions = role.AssignedPermissions.ToList(); List <string> deletes = permissions.Except(roleEdit.Value).ToList(); List <string> adds = roleEdit.Value.Except(permissions).ToList(); if (deletes.Count > 0 || adds.Count > 0) { foreach (string delete in deletes) { permissions.Remove(delete); } foreach (string add in adds) { permissions.Add(add); } role.AssignedPermissions = permissions.ToArray(); RoleManager.UpdateRole(role); } } } }
private string AddRole(HttpContext context) { string strJsonResult = string.Empty; string userAccount = string.Empty; ErrorCodeInfo error = new ErrorCodeInfo(); Guid transactionid = Guid.NewGuid(); string funname = "AddRole"; try { do { string strAccesstoken = context.Request["accessToken"]; //判断AccessToken if (string.IsNullOrEmpty(strAccesstoken)) { error.Code = ErrorCode.TokenEmpty; strJsonResult = JsonHelper.ReturnJson(false, Convert.ToInt32(error.Code), error.Info); LoggerHelper.Info(userAccount, funname, context.Request.RawUrl, Convert.ToString(error.Code), false, transactionid); break; } AdminInfo admin = new AdminInfo(); if (!TokenManager.ValidateUserToken(transactionid, strAccesstoken, out admin, out error)) { strJsonResult = JsonHelper.ReturnJson(false, Convert.ToInt32(error.Code), error.Info); LoggerHelper.Info(userAccount, funname, context.Request.RawUrl, Convert.ToString(error.Code), false, transactionid); break; } Stream str = context.Request.InputStream; // Find number of bytes in stream. Int32 strLen = Convert.ToInt32(str.Length); // Create a byte array. byte[] strArr = new byte[strLen]; // Read stream into byte array. str.Read(strArr, 0, strLen); string body = System.Text.Encoding.UTF8.GetString(strArr); RoleInfo info = JsonConvert.DeserializeObject <RoleInfo>(body); RoleManager manager = new RoleManager(ClientIP); manager.AddRole(transactionid, admin, info, out strJsonResult); } while (false); } catch (Exception ex) { error.Code = ErrorCode.Exception; LoggerHelper.Error("Role.ashx调用接口AddRole异常", context.Request.RawUrl, ex.ToString(), transactionid); LoggerHelper.Info(userAccount, funname, context.Request.RawUrl, Convert.ToString(error.Code), false, transactionid); strJsonResult = JsonHelper.ReturnJson(false, Convert.ToInt32(error.Code), error.Info); } return(strJsonResult); }
public void AddSystemRole(RoleInfo_Add roleInfo) { using (var biz = new GameBizAuthBusinessManagement()) { biz.BeginTran(); using (var roleManager = new RoleManager()) { var role = roleManager.GetRoleById(roleInfo.RoleId); if (role != null) { throw new ArgumentException("指定编号的角色已经存在 - " + role.RoleId); } role = new SystemRole { RoleId = roleInfo.RoleId, RoleName = roleInfo.RoleName, IsAdmin = roleInfo.IsAdmin, IsInner = false, RoleType = roleInfo.RoleType, FunctionList = new List <RoleFunction>(), }; if (!role.IsAdmin) { foreach (var item in roleInfo.FunctionList) { var roleFunction = new RoleFunction { Role = role, FunctionId = item.FunctionId, Function = roleManager.LoadFunctionById(item.FunctionId), Status = EnableStatus.Enable, Mode = item.Mode, }; role.FunctionList.Add(roleFunction); } var list = roleManager.QueryFixFunctionList(roleInfo.RoleType); foreach (var item in list) { var roleFunction = new RoleFunction { Role = role, FunctionId = item.FunctionId, Function = item, Status = EnableStatus.Enable, Mode = "RW", }; role.FunctionList.Add(roleFunction); } } roleManager.AddRole(role); } biz.CommitTran(); } }
public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters) { //先得到子操作代码,根据子操作代码,分别进行不同的处理 SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false); Dictionary <byte, object> parameters = response.Parameters; parameters.Add((byte)ParameterCode.SubCode, subCode); response.OperationCode = request.OperationCode; switch (subCode) { case SubCode.GetRole: List <Role> rolelList = roleManager.GetRoleListByUser(peer.LoginUser); foreach (var role1 in rolelList) { role1.User = null; } ParameterTool.AddParmeter(parameters, ParameterCode.RoleList, rolelList); break; case SubCode.AddRole: Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); //request ?? response 互换实验看看 ??request正确 role.User = peer.LoginUser; roleManager.AddRole(role); role.User = null; ParameterTool.AddParmeter(response.Parameters, ParameterCode.Role, role); break; case SubCode.SelectRole: peer.LoginRole = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); break; case SubCode.UpdateRole: Role role2 = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); role2.User = peer.LoginUser; roleManager.UpdateRole(role2); role2.User = null; response.ReturnCode = (short)ReturnCode.Success; break; case SubCode.GetTumoRole: User user = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.User); log.Debug("Role63" + user.Username); User user1 = userManager.GetUserByUsernmae(user.Username); List <Role> tumoRolelList = roleManager.GetRoleListByUser(user1); foreach (var role1 in tumoRolelList) { role1.User = null; } ParameterTool.AddParmeter(parameters, ParameterCode.TumoRoleList, tumoRolelList); log.Debug("Role70" + tumoRolelList[0].Name); break; } }
public JsonResult AddRoleFunction(OperationRoleModel model) { CommonResult r = new CommonResult(); try { if (!CheckRights("TJJS100")) { return(Json(new { IsSuccess = false, Msg = "您没有添加角色的权限" })); } var id = Guid.NewGuid().ToString(); AdminRole roleInfo = new AdminRole(); roleInfo.Name = PreconditionAssert.IsNotEmptyString(model.RoleName, "角色名不能为空"); roleInfo.Id = id; roleInfo.Type = model.RoleType; roleInfo.UpdateDate = DateTime.Now; roleInfo.CreationDate = DateTime.Now; roleInfo.CreatorUserId = CurUser.UserId; roleInfo.UpdatorUserId = CurUser.UserId; if (roleInfo.Type == IdentityManager.RoleType.SuperAdmin) { roleInfo.Permissions = PermissionManager.GetAllPermissions()?.Select(p => { return(new AdminRolePermission() { RoleId = id, PermissionId = p.Id, CreationDate = DateTime.Now }); }).ToList(); } else { roleInfo.Permissions = model.FunctionIds.Select(p => { return(new AdminRolePermission() { RoleId = id, PermissionId = p, CreationDate = DateTime.Now }); }).ToList(); } RoleManager.AddRole(roleInfo); return(Json(r)); } catch (Exception ex) { logger.Error("AddRoleFunciton", ex); return(Json(new { IsSuccess = false, Msg = ex.Message })); } }
private bool tryPost(ref Model.Role model, out string errMsg) { errMsg = ""; bool re = false; model.Creater = this.auth.UserId; model.CreatedDate = DateTime.Now; model.Modifier = this.auth.UserId; model.ModifiedDate = DateTime.Now; if (RoleManager.AddRole(ref model, out errMsg)) { re = true; } return(re); }
public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters) { //得到当前操作的子代码,根据不同的操作,进行不同的查询 SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false); Dictionary <byte, object> parameters = response.Parameters; parameters.Add((byte)ParameterCode.SubCode, subCode); response.OperationCode = request.OperationCode; response.Parameters = parameters; switch (subCode) { case SubCode.AddRole: Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); role.User = peer.LoginUser; manager.AddRole(role); role.User = null; ParameterTool.AddParameter(parameters, ParameterCode.Role, role); break; case SubCode.GetRole: List <Role> rolelist = manager.GetRoleListByUser(peer.LoginUser); foreach (var role1 in rolelist) { role1.User = null; } ParameterTool.AddParameter(parameters, ParameterCode.RoleList, rolelist); break; case SubCode.SelectRole: //将客户端选择的角色发送给服务器 peer.LoginRole = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); TaidouServer.log.Debug(peer.LoginRole.Name + "----" + peer.LoginRole.ID); break; case SubCode.UpdateRole: Role role2 = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); role2.User = peer.LoginUser; manager.UpdateRole(role2); role2.User = null; response.ReturnCode = (short)ReturnCode.Success; break; } }
public override void OnHandlerMessage(Photon.SocketServer.OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters) { //先得到子操作代码,根据子操作代码,分别进行不同的处理 SubCode subcode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false); Dictionary <byte, object> parameters = response.Parameters; parameters.Add((byte)ParameterCode.SubCode, subcode); response.OperationCode = request.OperationCode; switch (subcode) { case SubCode.AddRole: Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); role.User = peer.LoginUser; roleManager.AddRole(role); role.User = null; ParameterTool.AddParameter(response.Parameters, ParameterCode.Role, role); break; case SubCode.GetRole: List <Role> roleList = roleManager.GetRoleListByUser(peer.LoginUser); foreach (var role1 in roleList) { role1.User = null; } ParameterTool.AddParameter(parameters, ParameterCode.RoleList, roleList); break; case SubCode.SelectRole: peer.LoginRole = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); break; case SubCode.UpdateRole: Role role2 = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); role2.User = peer.LoginUser; roleManager.UpdateRole(role2); role2.User = null; response.ReturnCode = (short)ReturnCode.Success; break; } }
private void SetRoles() { var list = DbFactory.Repository <RoleInfoRepository>().GetList(); if (list != null && list.Count > 0) { var roles = new List <RoleInfo>(); roles.AddRange(list.Select(q => new RoleInfo( q.RoleID, q.RoleCode, q.RoleName ))); foreach (var item in roles) { RoleManager.AddRole(item); } } RoleManager.SetUserRole(RoleInfo.LoginedRole); RoleManager.SetGuestRole(RoleInfo.UnLoginRole); }
/// <summary> /// Save selected role /// </summary> /// <param name="pRole"></param> /// <returns>A struct contains, if necessary, errors occurs</returns> public RoleErrors SaveRole(Role pRole) { RoleErrors roleErrors = new RoleErrors(); if (string.IsNullOrEmpty(pRole.RoleName)) { roleErrors.FindError = true; roleErrors.RoleNameError = true; //roleErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "Role_RoleName_Empty.Text"); roleErrors.ErrorCode = "RoleNameEmpty"; } if (roleErrors.FindError) { return(roleErrors); } if (pRole.Id == 0) { if (_roleManager.SelectRole(pRole.RoleName, true) != null) { roleErrors.FindError = true; //roleErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "Role_Save_AlreadyExist.Text"); roleErrors.ErrorCode = "RoleExists"; } else { _roleManager.AddRole(pRole); //roleErrors.ResultMessage = MultiLanguageStrings.GetString(Ressource.StringRes, "Role_Save_OK.Text"); roleErrors.ErrorCode = "RoleCreated"; } } else { //user UpdateRoles for this block } return(roleErrors); }
public async Task AddRole(CommandEventArgs e) { string discordRole = e.GetArg(CommandsConstants.ParameterDiscordRole); string realRole = e.GetArg(CommandsConstants.ParameterRealRole); try { CheckRole(e.Server.Roles, discordRole); BotRoles botRole = ParseRole(realRole); RoleManager.RemoveRole(discordRole, (long)e.Server.Id); RoleManager.AddRole(discordRole, botRole, (long)e.Server.Id); await SendStyleMessage(e.Channel, SettingsModuleResource.RolesConnected, SettingsModuleResource.Markdown); } catch (ArgumentException exp) { await SendStyleMessage(e.Channel, String.Format(SettingsModuleResource.RoleIsNotExist, exp.Message), SettingsModuleResource.Markdown); } }
public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer) { //根据子操作代码分别进行不同的处理 SubCode subCode = ParameterTool.GetParameter <SubCode>(request.Parameters, ParameterCode.SubCode, false); Dictionary <byte, object> parameters = response.Parameters; parameters.Add((byte)ParameterCode.SubCode, subCode); switch (subCode) { case SubCode.GetRole: List <Role> roleList = manager.GetRoleListByUser(peer.LoginUser); foreach (Role roleTemp in roleList) { roleTemp.User = null; //防止json解析错误 } ParameterTool.AddParameter(parameters, ParameterCode.RoleList, roleList); break; case SubCode.AddRole: Role role = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); role.User = peer.LoginUser; manager.AddRole(role); role.User = null; //防止json解析错误,实际上role对应的User已经添加到loginUser里了 ParameterTool.AddParameter(parameters, ParameterCode.Role, role); break; case SubCode.SelectRole: peer.LoginRole = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); break; case SubCode.UpdateRole: Role roleUpdate = ParameterTool.GetParameter <Role>(request.Parameters, ParameterCode.Role); roleUpdate.User = peer.LoginUser; manager.UpdateRole(roleUpdate); //更新当前角色 response.ReturnCode = (short)ReturnCode.Success; break; } }
private static void SeedRoles(this RoleManager <ApplicationRole> roleManager) { roleManager.AddRole(nameof(UserRole.Admin)); roleManager.AddRole(nameof(UserRole.User)); }
private void Save_Button_Click(object sender, EventArgs e) { string errorMessages = "The following errors accured:\n"; switch (Mode) { case "NEW": _role = new Role(0); _role.Name = titleTxb.Text; _role.Description = descTxb.Text; _role.Active = true; if (RoleManager.AddRole(_role)) { MessageBox.Show("Role Added Successfully"); this.Close(); } else { MessageBox.Show("There was an error adding role."); } break; case "EDIT": if (_role.Id > 0) { bool valid = true; if (titleTxb.Text.Length > 25) { valid = false; errorMessages += "Title must be 25 characters or less.\n"; } if (descTxb.Text.Length > 250) { valid = false; errorMessages += "Description must be 250 characters or less.\n"; } if (!valid) { MessageBox.Show(errorMessages); break; } Role editedRole = new Role(_role.Id) { Name = titleTxb.Text, Description = descTxb.Text, Active = true }; try { if (RoleManager.UpdateRole(editedRole, _role)) { this.DialogResult = DialogResult.OK; MessageBox.Show("Role updated"); } else { MessageBox.Show("Error updating role"); } } catch (Exception ex) { MessageBox.Show("Error has Occured. \n Error Message: \n" + ex.Message); } } break; default: break; } }
public IHttpActionResult AddNewRole(ModifyRoleRequest model) { ResponseBase <RoleModel> response = new ResponseBase <RoleModel>() { IsSuccess = true, MessageCode = (int)ApiBaseErrorCode.API_SUCCESS, MessageContent = ApiBaseErrorCode.API_SUCCESS.ToString() }; if (model.MenuSerials == null || string.IsNullOrWhiteSpace(model.RoleName) || string.IsNullOrWhiteSpace(model.ProjectGuid)) { response.IsSuccess = false; response.MessageCode = (int)ApiBaseErrorCode.API_PARAM_ERROR; response.MessageContent = "必要参数缺失,请检查"; return(Ok(response)); } //组建权限字符串 string privilegeStr = ""; MenuModel menumodel = menumanager.GetMenu(model.ProjectGuid); if (menumodel != null) { foreach (MenuDetialModel item in menumodel.MenuList) { string menuSerial = item.MenuSerial.PadLeft(3, '0'); if (model.MenuSerials.Exists(o => o == menuSerial)) { privilegeStr += (menuSerial + "1"); } else { privilegeStr += (menuSerial + "0"); } } } //授权停车场编号集合 string parkingCodeStr = ""; if (model.ParkingCodeList != null) { foreach (string item in model.ParkingCodeList) { parkingCodeStr += item + ","; } parkingCodeStr = parkingCodeStr.TrimEnd(','); } RolePermissionModel content = new RolePermissionModel() { Guid = Guid.NewGuid().ToString("N"), ProjectGuid = model.ProjectGuid, RoleName = model.RoleName, ContentDetial = privilegeStr, ParkingCodeList = parkingCodeStr }; if (!rolemanager.AddRole(content)) { response.IsSuccess = false; response.MessageCode = (int)ApiBaseErrorCode.API_FAIL; response.MessageContent = ApiBaseErrorCode.API_FAIL.ToString(); } response.Result = new RoleModel() { Guid = content.Guid, RoleName = content.RoleName }; return(Ok(response)); }