public bool IsAdministrator(PiUserEntity entity) { // 用户是超级管理员 if (entity.Id.Equals("Administrator")) { return(true); } if (entity.Code != null && entity.Code.Equals("Administrator")) { return(true); } if (entity.UserName != null && entity.UserName.Equals("Administrator")) { return(true); } if (this.UserInfo == null) { return(false); } // 用户的默认角色是超级管理员 var roleManager = new PiRoleManager(this.DBProvider, this.UserInfo); // 用户默认角色是否为超级管理员 PiRoleEntity roleEntity = null; if (entity.RoleId != null) { // 用户在超级管理员群里 string[] roleIds = this.GetRoleIds(entity.Id); foreach (string tmpid in roleIds) { if (tmpid.Equals(DefaultRole.Administrators.ToString())) { return(true); } roleEntity = roleManager.GetEntity(tmpid); if (roleEntity.Code != null && roleEntity.Code.Equals(DefaultRole.Administrators.ToString())) { return(true); } } } return(false); }
public UserInfo ConvertToUserInfo(UserInfo userInfo, PiUserEntity userEntity, PiUserLogOnEntity userLogOnEntity = null) { userInfo.Id = userEntity.Id; userInfo.Code = userEntity.Code; userInfo.UserName = userEntity.UserName; userInfo.RealName = userEntity.RealName; userInfo.CompanyId = userEntity.CompanyId; userInfo.CompanyName = userEntity.CompanyName; userInfo.DepartmentId = userEntity.DepartmentId; userInfo.DepartmentName = userEntity.DepartmentName; userInfo.WorkgroupId = userEntity.WorkgroupId; userInfo.WorkgroupName = userEntity.WorkgroupName; if (userLogOnEntity != null) { userInfo.OpenId = userLogOnEntity.OpenId; } if (userEntity.SecurityLevel == null) { userEntity.SecurityLevel = 0; } else { userInfo.SecurityLevel = (int)userEntity.SecurityLevel; } if (!string.IsNullOrEmpty(userEntity.RoleId)) { // 获取角色名称 var roleManager = new PiRoleManager(DBProvider, UserInfo); PiRoleEntity roleEntity = roleManager.GetEntity(userEntity.RoleId); if (!string.IsNullOrEmpty(roleEntity.Id)) { userInfo.RoleName = roleEntity.RealName; userInfo.RoleId = roleEntity.Id; } } return(userInfo); }