예제 #1
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;                                                        // 检测是否允许访问本页面
            }
            var redirectUrl = PageMain.GetRedirectUrl();                       // 如果检测登录帐号一切正常,则准备转到框架主页 pagemain.aspx

            var siteIdList = AuthRequest.AdminPermissionsImpl.GetSiteIdList(); // 获取当前站点ID

            if (siteIdList == null || siteIdList.Count == 0)                   // 如果目前还没有创建站点
            {
                if (AuthRequest.AdminPermissionsImpl.IsSystemAdministrator)    // 如果目前还没有创建站点并且当前登录管理员是系统管理员
                {
                    redirectUrl = PageSiteAdd.GetRedirectUrl();                // 则直接跳到站点创建页面
                }
            }

            LtlContent.Text = $@"
<script language=""javascript"">
function redirectUrl()
{{
   location.href = ""{redirectUrl}"";
}}
setTimeout(""redirectUrl()"", 2000);
</script>
";   // 通过输出js来实现2秒之后开始页面跳转
        }
예제 #2
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;              // 检测是否允许访问本页面
            }
            if (SystemManager.DetermineRedirectToInstaller())
            {
                return;                          // 检测系统是否需要安装,如果需要转到安装页面。
            }
            if (!Body.IsAdminLoggin)             // 检测管理员是否登录
            {
                PageUtils.RedirectToLoginPage(); // 如果没有登录则跳到登录页面
                return;
            }

            if (Body.AdministratorInfo.IsLockedOut) // 检测管理员帐号是否被锁定
            {
                PageUtils.RedirectToLoginPage("对不起,您的账号已被锁定,无法进入系统!");
                return;
            }

            var redirectUrl = PageMain.GetRedirectUrl();                         // 如果检测登录帐号一切正常,则准备转到框架主页 pagemain.aspx

            var permissions = PermissionsManager.GetPermissions(Body.AdminName); // 获取登录管理员的权限
            var siteIdList  = ProductPermissionsManager.Current.SiteIdList;      // 获取当前站点ID

            if (siteIdList == null || siteIdList.Count == 0)                     // 如果目前还没有创建站点
            {
                if (permissions.IsSystemAdministrator)                           // 如果目前还没有创建站点并且当前登录管理员是系统管理员
                {
                    redirectUrl = PageSiteAdd.GetRedirectUrl();                  // 则直接跳到站点创建页面
                }
            }

            LtlContent.Text = $@"
<script language=""javascript"">
function redirectUrl()
{{
   location.href = ""{redirectUrl}"";
}}
setTimeout(""redirectUrl()"", 2000);
</script>
";   // 通过输出js来实现2秒之后开始页面跳转
        }
예제 #3
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            var siteId = SiteId;

            if (siteId == 0)
            {
                siteId = AuthRequest.AdminInfo.SiteId;
            }

            var siteIdList = AuthRequest.AdminPermissions.SiteIdList;

            //站点要判断是否存在,是否有权限
            if (siteId == 0 || !SiteManager.IsExists(siteId) || !siteIdList.Contains(siteId))
            {
                if (siteIdList != null && siteIdList.Count > 0)
                {
                    siteId = siteIdList[0];
                }
            }

            _siteInfo = SiteManager.GetSiteInfo(siteId);

            if (_siteInfo != null && _siteInfo.Id > 0)
            {
                if (SiteId == 0)
                {
                    PageUtils.Redirect(GetRedirectUrl(_siteInfo.Id));
                    return;
                }

                var showSite = false;

                var permissionList = new List <string>(AuthRequest.AdminPermissions.PermissionList);

                if (AuthRequest.AdminPermissions.HasSitePermissions(_siteInfo.Id))
                {
                    var websitePermissionList = AuthRequest.AdminPermissions.GetSitePermissions(_siteInfo.Id);
                    if (websitePermissionList != null)
                    {
                        showSite = true;
                        permissionList.AddRange(websitePermissionList);
                    }
                }

                var channelPermissions = AuthRequest.AdminPermissions.GetChannelPermissions(_siteInfo.Id);
                if (channelPermissions.Count > 0)
                {
                    showSite = true;
                    permissionList.AddRange(channelPermissions);
                }

                var siteIdHashtable = new Hashtable();
                if (siteIdList != null)
                {
                    foreach (var theSiteId in siteIdList)
                    {
                        siteIdHashtable.Add(theSiteId, theSiteId);
                    }
                }

                if (!siteIdHashtable.Contains(SiteId))
                {
                    showSite = false;
                }

                if (!showSite)
                {
                    PageUtils.RedirectToErrorPage("您没有此发布系统的操作权限!");
                    return;
                }

                LtlTopMenus.Text = GetTopMenuSitesHtml() + GetTopMenuLinksHtml() + GetTopMenusHtml();

                PhSite.Visible = true;

                LtlCreateStatus.Text = $@"
<script type=""text/javascript"">
function {LayerUtils.OpenPageCreateStatusFuncName}() {{
    {PageCreateStatus.GetOpenLayerString(_siteInfo.Id)}
}}
</script>
<a href=""javascript:;"" onclick=""{LayerUtils.OpenPageCreateStatusFuncName}()"">
    <i class=""ion-wand""></i>
    <span id=""progress"" class=""badge badge-xs badge-pink"">0</span>
</a>
";

                NtLeftManagement.TopId          = ConfigManager.TopMenu.IdSite;
                NtLeftManagement.SiteId         = _siteInfo.Id;
                NtLeftManagement.PermissionList = permissionList;

                NtLeftFunctions.TopId          = string.Empty;
                NtLeftFunctions.SiteId         = _siteInfo.Id;
                NtLeftFunctions.PermissionList = permissionList;

                ClientScriptRegisterClientScriptBlock("NodeTreeScript", NodeNaviTreeItem.GetNavigationBarScript());
            }
            else
            {
                if (AuthRequest.AdminPermissions.IsConsoleAdministrator)
                {
                    PageUtils.Redirect(PageSiteAdd.GetRedirectUrl());
                    return;
                }
            }

            if (_siteInfo != null && _siteInfo.Id > 0 && AuthRequest.AdminInfo.SiteId != _siteInfo.Id)
            {
                DataProvider.AdministratorDao.UpdateSiteId(AuthRequest.AdminName, _siteInfo.Id);
            }
        }
예제 #4
0
        public IHttpActionResult GetConfig()
        {
            try
            {
                var request  = new AuthenticatedRequest();
                var redirect = request.AdminRedirectCheck(checkInstall: true, checkDatabaseVersion: true, checkLogin: true);
                if (redirect != null)
                {
                    return(Ok(redirect));
                }

                var siteId       = request.GetQueryInt("siteId");
                var siteInfo     = SiteManager.GetSiteInfo(siteId);
                var adminInfo    = request.AdminInfo;
                var permissions  = request.AdminPermissionsImpl;
                var isSuperAdmin = permissions.IsConsoleAdministrator;
                var siteIdListWithPermissions = permissions.GetSiteIdList();

                if (siteInfo == null || !siteIdListWithPermissions.Contains(siteInfo.Id))
                {
                    if (siteIdListWithPermissions.Contains(adminInfo.SiteId))
                    {
                        return(Ok(new
                        {
                            Value = false,
                            RedirectUrl = PageUtils.GetMainUrl(adminInfo.SiteId)
                        }));
                    }

                    if (siteIdListWithPermissions.Count > 0)
                    {
                        return(Ok(new
                        {
                            Value = false,
                            RedirectUrl = PageUtils.GetMainUrl(siteIdListWithPermissions[0])
                        }));
                    }

                    if (isSuperAdmin)
                    {
                        return(Ok(new
                        {
                            Value = false,
                            RedirectUrl = PageSiteAdd.GetRedirectUrl()
                        }));
                    }

                    return(Ok(new
                    {
                        Value = false,
                        RedirectUrl = $"pageError.html?message={HttpUtility.UrlEncode("您没有可以管理的站点,请联系超级管理员协助解决")}"
                    }));
                }

                var packageIds = new List <string>
                {
                    PackageUtils.PackageIdSsCms
                };
                var packageList = new List <object>();
                var dict        = PluginManager.GetPluginIdAndVersionDict();
                foreach (var id in dict.Keys)
                {
                    packageIds.Add(id);
                    var version = dict[id];
                    packageList.Add(new
                    {
                        id,
                        version
                    });
                }

                var siteIdListLatestAccessed = DataProvider.AdministratorDao.UpdateSiteId(adminInfo, siteInfo.Id);

                var permissionList = new List <string>(permissions.PermissionList);
                if (permissions.HasSitePermissions(siteInfo.Id))
                {
                    var websitePermissionList = permissions.GetSitePermissions(siteInfo.Id);
                    if (websitePermissionList != null)
                    {
                        permissionList.AddRange(websitePermissionList);
                    }
                }
                var channelPermissions = permissions.GetChannelPermissions(siteInfo.Id);
                if (channelPermissions.Count > 0)
                {
                    permissionList.AddRange(channelPermissions);
                }

                var topMenus  = GetTopMenus(siteInfo, isSuperAdmin, siteIdListLatestAccessed, siteIdListWithPermissions);
                var siteMenus =
                    GetLeftMenus(siteInfo, ConfigManager.TopMenu.IdSite, isSuperAdmin, permissionList);
                var pluginMenus = GetLeftMenus(siteInfo, string.Empty, isSuperAdmin, permissionList);

                return(Ok(new
                {
                    Value = true,
                    DefaultPageUrl = PluginMenuManager.GetSystemDefaultPageUrl(siteId) ?? "dashboard.cshtml",
                    IsNightly = WebConfigUtils.IsNightlyUpdate,
                    SystemManager.ProductVersion,
                    SystemManager.PluginVersion,
                    SystemManager.TargetFramework,
                    SystemManager.EnvironmentVersion,
                    IsSuperAdmin = isSuperAdmin,
                    PackageList = packageList,
                    PackageIds = packageIds,
                    TopMenus = topMenus,
                    SiteMenus = siteMenus,
                    PluginMenus = pluginMenus,
                    Local = new
                    {
                        UserId = adminInfo.Id,
                        adminInfo.UserName,
                        adminInfo.AvatarUrl,
                        Level = permissions.GetAdminLevel()
                    }
                }));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
예제 #5
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            var isLeft    = false;
            var siteId    = 0;
            var adminInfo = AuthRequest.AdminInfo;

            var siteIdList = AuthRequest.AdminPermissionsImpl.GetSiteIdList();

            if (siteIdList.Contains(SiteId))
            {
                siteId = SiteId;
            }
            else if (siteIdList.Contains(adminInfo.SiteId))
            {
                siteId = adminInfo.SiteId;
            }

            //站点要判断是否存在,是否有权限
            if (siteId == 0 || !SiteManager.IsExists(siteId) || !siteIdList.Contains(siteId))
            {
                if (siteIdList.Count > 0)
                {
                    siteId = siteIdList[0];
                }
            }

            _siteInfo = SiteManager.GetSiteInfo(siteId);

            if (_siteInfo != null && _siteInfo.Id > 0)
            {
                if (SiteId == 0)
                {
                    PageUtils.Redirect(GetRedirectUrl(_siteInfo.Id));
                    return;
                }

                var permissionList = new List <string>(AuthRequest.AdminPermissionsImpl.PermissionList);

                if (AuthRequest.AdminPermissionsImpl.HasSitePermissions(_siteInfo.Id))
                {
                    var websitePermissionList = AuthRequest.AdminPermissionsImpl.GetSitePermissions(_siteInfo.Id);
                    if (websitePermissionList != null)
                    {
                        isLeft = true;
                        permissionList.AddRange(websitePermissionList);
                    }
                }

                var channelPermissions = AuthRequest.AdminPermissionsImpl.GetChannelPermissions(_siteInfo.Id);
                if (channelPermissions.Count > 0)
                {
                    isLeft = true;
                    permissionList.AddRange(channelPermissions);
                }

                PhSite.Visible = isLeft;

                NtLeftManagement.TopId          = ConfigManager.TopMenu.IdSite;
                NtLeftManagement.SiteId         = _siteInfo.Id;
                NtLeftManagement.PermissionList = permissionList;

                NtLeftFunctions.TopId          = string.Empty;
                NtLeftFunctions.SiteId         = _siteInfo.Id;
                NtLeftFunctions.PermissionList = permissionList;

                ClientScriptRegisterClientScriptBlock("NodeTreeScript", NodeNaviTreeItem.GetNavigationBarScript());
            }
            else
            {
                if (IsConsoleAdministrator)
                {
                    PageUtils.Redirect(PageSiteAdd.GetRedirectUrl());
                    return;
                }
            }

            if (_siteInfo != null && _siteInfo.Id > 0 && adminInfo.SiteId != _siteInfo.Id)
            {
                DataProvider.AdministratorDao.UpdateSiteId(adminInfo, _siteInfo.Id);
            }

            if (isLeft)
            {
                LtlTopMenus.Text = $@"
<a href=""javascript:;"" class=""position-fixed"" onclick=""toggleMenu()"" style=""margin-top: 10px;margin-left: 30px;"">
    <i class=""ion-navicon"" style=""font-size: 28px;color: #fff;""></i>
</a>
<ul id=""topMenus"" class=""navigation-menu"">
    {GetTopMenuSitesHtml(siteIdList) + GetTopMenuLinksHtml() + GetTopMenusHtml()}
</ul>
";
            }
            else
            {
                LtlTopMenus.Text = $@"
<script>toggleMenu();</script>
<ul id=""topMenus"" class=""navigation-menu"" style=""margin-left: 210px;"">
    {GetTopMenusHtml()}
</ul>
";
            }
        }
예제 #6
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            var isLeft      = false;
            var adminInfo   = AuthRequest.AdminInfo;
            var permissions = AuthRequest.AdminPermissionsImpl;

            var      pageSiteId    = SiteId;
            var      currentSiteId = 0;
            var      siteIdList    = permissions.GetSiteIdList();
            var      siteInfoList  = new List <SiteInfo>();
            SiteInfo rootSiteInfo  = null;

            foreach (var theSiteId in siteIdList)
            {
                var siteInfo = SiteManager.GetSiteInfo(theSiteId);
                if (siteInfo == null)
                {
                    continue;
                }
                if (siteInfo.IsRoot)
                {
                    rootSiteInfo = siteInfo;
                }
                siteInfoList.Add(siteInfo);
            }

            if (siteIdList.Contains(pageSiteId))
            {
                currentSiteId = pageSiteId;
            }
            else if (siteIdList.Contains(adminInfo.SiteId))
            {
                currentSiteId = adminInfo.SiteId;
            }

            if (currentSiteId == 0 || !SiteManager.IsExists(currentSiteId) || !siteIdList.Contains(currentSiteId))
            {
                if (siteIdList.Count > 0)
                {
                    currentSiteId = siteIdList[0];
                }
            }

            var currentSiteInfo = SiteManager.GetSiteInfo(currentSiteId);
            var addedSiteIdList = new List <int>();

            if (currentSiteInfo != null && currentSiteInfo.Id > 0)
            {
                if (pageSiteId == 0)
                {
                    PageUtils.Redirect(GetRedirectUrl(currentSiteInfo.Id));
                    return;
                }
            }
            else
            {
                if (permissions.IsConsoleAdministrator)
                {
                    PageUtils.Redirect(PageSiteAdd.GetRedirectUrl());
                    return;
                }
            }

            if (currentSiteInfo != null && currentSiteInfo.Id > 0)
            {
                var permissionList = new List <string>(permissions.PermissionList);

                if (permissions.HasSitePermissions(currentSiteInfo.Id))
                {
                    var websitePermissionList = permissions.GetSitePermissions(currentSiteInfo.Id);
                    if (websitePermissionList != null)
                    {
                        isLeft = true;
                        permissionList.AddRange(websitePermissionList);
                    }
                }

                var channelPermissions = permissions.GetChannelPermissions(currentSiteInfo.Id);
                if (channelPermissions.Count > 0)
                {
                    isLeft = true;
                    permissionList.AddRange(channelPermissions);
                }

                //LtlLeftManagement.Text =
                //    NavigationTree.BuildNavigationTree(currentSiteInfo.Id, ConfigManager.TopMenu.IdSite,
                //        permissionList);

                //LtlLeftFunctions.Text = NavigationTree.BuildNavigationTree(currentSiteInfo.Id, string.Empty,
                //    permissionList);

                if (adminInfo.SiteId != currentSiteInfo.Id)
                {
                    DataProvider.AdministratorDao.UpdateSiteId(adminInfo, currentSiteInfo.Id);
                }
            }

            //LtlTopMenus.Text = isLeft
            //    ? GetTopMenuSitesHtml(permissions, siteInfoList, rootSiteInfo, addedSiteIdList, currentSiteInfo) +
            //      GetTopMenuLinksHtml(currentSiteInfo) + GetTopMenusHtml(permissions, pageSiteId)
            //    : GetTopMenusHtml(permissions, pageSiteId);
        }