Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        public static bool HasChannelPermissionIsConsoleAdministrator(string userName)
        {
            var roles = BaiRongDataProvider.RoleDao.GetRolesForUser(userName);

            return(EPredefinedRoleUtils.IsConsoleAdministrator(roles));
        }