public bool Authorize(string permission, IUser user) { if (permission.IsNullOrWhiteSpace()) { return(true); } if (user == null) { return(false); } if (_userPermissions != null && _userPermissions.ContainsKey(user.UserID)) { return(_userPermissions[user.UserID].Any(m => m.PermissionKey == permission)); } _userPermissions = _userPermissions ?? new Dictionary <string, IEnumerable <Permission> >(); var roles = UserRoleRelationService.Get(m => m.UserID == user.UserID).ToList(m => m.RoleID); List <Permission> permissions = new List <Permission>(); RoleService.Get(m => roles.Any(r => r == m.ID) && m.Status == (int)RecordStatus.Active) .Each(r => { var pers = PermissionService.Get(m => m.RoleId == r.ID).ToList(); if (pers.Any()) { permissions.AddRange(pers); } }); _userPermissions.Add(user.UserID, permissions); return(permissions.Any(m => m.PermissionKey == permission)); }
public ActionResult GetForm(string primaryKey) { var entity = UserService.Get(primaryKey); entity.RoleId = UserRoleRelationService.GetList(entity.Id).Select(c => c.SURRRoleId).ToList(); entity.DeptName = OrganizeService.Get(entity.SUDepartmentId.ToString()).SOFullName; return(Content(entity.ToJson())); }
public ActionResult Form(Sys_User model, string password, string roleIds) { var roleList = ConvertHelper.IntList(roleIds); if (model.Id == 0) { model.RoleId = roleList; model.Password = password; var userId = UserService.InsertAll(model); return(userId > 0 ? Success() : Error()); } else { //更新用户基本信息。 int row = UserService.Update(model); //更新用户角色信息。 UserRoleRelationService.SetRole(model.Id, roleList); return(row > 0 ? Success() : Error()); } }