public IHttpActionResult GetPermissions(int adminId) { try { var request = new AuthenticatedRequest(); if (!request.IsAdminLoggin || !request.AdminPermissionsImpl.HasSystemPermissions(ConfigManager.SettingsPermissions.Admin)) { return(Unauthorized()); } if (!request.AdminPermissions.IsSuperAdmin()) { return(Unauthorized()); } var roles = DataProvider.RoleDao.GetRoleNameList(); var allSites = SiteManager.GetSiteInfoList(); var adminInfo = AdminManager.GetAdminInfoByUserId(adminId); var adminRoles = DataProvider.AdministratorsInRolesDao.GetRolesForUser(adminInfo.UserName); string adminLevel; var checkedSites = new List <int>(); var checkedRoles = new List <string>(); if (EPredefinedRoleUtils.IsConsoleAdministrator(adminRoles)) { adminLevel = "SuperAdmin"; } else if (EPredefinedRoleUtils.IsSystemAdministrator(adminRoles)) { adminLevel = "SiteAdmin"; checkedSites = TranslateUtils.StringCollectionToIntList(adminInfo.SiteIdCollection); } else { adminLevel = "Admin"; foreach (var role in roles) { if (!checkedRoles.Contains(role) && !EPredefinedRoleUtils.IsPredefinedRole(role) && adminRoles.Contains(role)) { checkedRoles.Add(role); } } } return(Ok(new { Value = true, Roles = roles, AllSites = allSites, AdminLevel = adminLevel, CheckedSites = checkedSites, CheckedRoles = checkedRoles })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public List <int> GetSiteIdList() { var siteIdList = new List <int>(); if (EPredefinedRoleUtils.IsConsoleAdministrator(Roles)) { siteIdList = SiteManager.GetSiteIdList(); } else if (EPredefinedRoleUtils.IsSystemAdministrator(Roles)) { var adminInfo = AdminManager.GetAdminInfoByUserName(UserName); if (adminInfo != null) { foreach (var siteId in TranslateUtils.StringCollectionToIntList(adminInfo.SiteIdCollection)) { if (!siteIdList.Contains(siteId)) { siteIdList.Add(siteId); } } } } else { var dict = WebsitePermissionDict; foreach (var siteId in dict.Keys) { if (!siteIdList.Contains(siteId)) { siteIdList.Add(siteId); } } } return(siteIdList); }
public static bool HasChannelPermissionIsConsoleAdministrator(string userName) { var roles = BaiRongDataProvider.RoleDao.GetRolesForUser(userName); return(EPredefinedRoleUtils.IsConsoleAdministrator(roles)); }