Beispiel #1
0
 public static string GetOpenWindowString(string userName)
 {
     return(PageUtils.GetOpenWindowString("查看管理员资料", PageUtils.GetAdminUrl(nameof(ModalAdminView), new NameValueCollection
     {
         { "UserName", userName }
     }), 400, 450, true));
 }
Beispiel #2
0
        public object AdminRedirectCheck(bool checkInstall = false, bool checkDatabaseVersion = false,
                                         bool checkLogin   = false)
        {
            var redirect    = false;
            var redirectUrl = string.Empty;

            if (checkInstall && string.IsNullOrEmpty(WebConfigUtils.ConnectionString))
            {
                redirect    = true;
                redirectUrl = PageUtils.GetAdminUrl("Installer/");
            }
            else if (checkDatabaseVersion && ConfigManager.Instance.IsInitialized &&
                     ConfigManager.Instance.DatabaseVersion != SystemManager.Version)
            {
                redirect    = true;
                redirectUrl = PageUtils.GetAdminUrl("pageSyncDatabase.aspx");
            }
            else if (checkLogin && (!IsAdminLoggin || AdminInfo == null || AdminInfo.IsLockedOut))
            {
                redirect    = true;
                redirectUrl = PageUtils.GetAdminUrl("pageLogin.cshtml");
            }

            if (redirect)
            {
                return(new
                {
                    Value = false,
                    RedirectUrl = redirectUrl
                });
            }

            return(null);
        }
Beispiel #3
0
 public static string GetOpenWindowStringToAdd(string returnUrl)
 {
     return(PageUtils.GetOpenWindowString("添加区域", PageUtils.GetAdminUrl(nameof(ModalAreaAdd), new NameValueCollection
     {
         { "ReturnUrl", StringUtils.ValueToUrl(returnUrl) }
     }), 460, 360));
 }
Beispiel #4
0
 public static string GetOpenWindowString(string userName)
 {
     return(PageUtils.GetOpenWindowString("重设密码", PageUtils.GetAdminUrl(nameof(ModalAdminPassword), new NameValueCollection
     {
         { "userName", userName }
     }), 400, 300));
 }
Beispiel #5
0
 public static string GetRedirectUrl(int departmentId)
 {
     return(PageUtils.GetAdminUrl(nameof(PageUser), new NameValueCollection
     {
         { "departmentID", departmentId.ToString() }
     }));
 }
Beispiel #6
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            if (SystemManager.IsInstalled)
            {
                Page.Response.Write("系统已安装成功,向导被禁用。<a href=\"" + PageUtils.GetAdminUrl("/") + "\">返回后台管理首页</a>");
                Page.Response.End();
                return;
            }

            LtlVersionInfo.Text = SystemManager.ProductVersion;
            SetSetp(1);

            DatabaseTypeUtils.AddListItems(DdlSqlDatabaseType);

            EBooleanUtils.AddListItems(DdlIsDefaultPort, "默认数据库端口", "自定义数据库端口");
            ControlUtils.SelectSingleItemIgnoreCase(DdlIsDefaultPort, true.ToString());

            PhSqlPort.Visible = false;

            EBooleanUtils.AddListItems(DdlIsProtectData, "加密", "不加密");
            ControlUtils.SelectSingleItemIgnoreCase(DdlIsProtectData, false.ToString());

            LtlGo.Text = $@"<a class=""btn btn-success m-l-5"" href=""{PageUtils.GetAdminUrl(string.Empty)}"">进入后台</a>";
        }
Beispiel #7
0
        private void UpdateByUpload()
        {
            if (HifFile.PostedFile == null || HifFile.PostedFile.FileName == "")
            {
                return;
            }

            var filePath = HifFile.PostedFile.FileName;

            if (!StringUtils.EqualsIgnoreCase(Path.GetExtension(filePath), ".nupkg"))
            {
                FailMessage("必须上传后缀为.nupkg的文件");
                return;
            }

            var idAndVersion  = Path.GetFileNameWithoutExtension(filePath);
            var directoryPath = PathUtils.GetPackagesPath(idAndVersion);
            var localFilePath = PathUtils.Combine(directoryPath, idAndVersion + ".nupkg");

            if (!Directory.Exists(directoryPath))
            {
                Directory.CreateDirectory(directoryPath);
            }

            HifFile.PostedFile.SaveAs(localFilePath);

            ZipUtils.ExtractZip(localFilePath, directoryPath);

            AuthRequest.AddAdminLog("手动升级 SiteServer CMS 版本:" + idAndVersion);

            LayerUtils.CloseAndRedirect(Page, PageUtils.GetAdminUrl(PageUtils.Combine("plugins/manage.cshtml")));
        }
Beispiel #8
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            if (!SystemManager.IsNeedInstall())
            {
                Page.Response.Write("系统已安装成功,向导被禁用");
                Page.Response.End();
                return;
            }

            LtlVersionInfo.Text = SystemManager.ProductVersion;
            SetSetp(1);

            DatabaseTypeUtils.AddListItems(DdlSqlDatabaseType);
            DdlOraclePrivilege.Items.Add(new ListItem(EOraclePrivilegeUtils.GetValue(EOraclePrivilege.Normal), EOraclePrivilegeUtils.GetValue(EOraclePrivilege.Normal)));
            DdlOraclePrivilege.Items.Add(new ListItem(EOraclePrivilegeUtils.GetValue(EOraclePrivilege.SYSDBA), EOraclePrivilegeUtils.GetValue(EOraclePrivilege.SYSDBA)));
            DdlOraclePrivilege.Items.Add(new ListItem(EOraclePrivilegeUtils.GetValue(EOraclePrivilege.SYSOPER), EOraclePrivilegeUtils.GetValue(EOraclePrivilege.SYSOPER)));

            EBooleanUtils.AddListItems(DdlIsOracleSid, "SID", "Service name");
            ControlUtils.SelectSingleItemIgnoreCase(DdlIsOracleSid, true.ToString());

            EBooleanUtils.AddListItems(DdlIsDefaultPort, "默认数据库端口", "自定义数据库端口");
            ControlUtils.SelectSingleItemIgnoreCase(DdlIsDefaultPort, true.ToString());

            PhSqlPort.Visible = false;

            EBooleanUtils.AddListItems(DdlIsProtectData, "加密", "不加密");
            ControlUtils.SelectSingleItemIgnoreCase(DdlIsProtectData, false.ToString());

            LtlGo.Text = $@"<a class=""btn btn-success m-l-5"" href=""{PageUtils.GetAdminUrl(string.Empty)}"">进入后台</a>";
        }
Beispiel #9
0
 public static string GetRedirectUrlToEdit(int departmentId, string userName)
 {
     return(PageUtils.GetAdminUrl(nameof(PageAdministratorAdd), new NameValueCollection
     {
         { "departmentID", departmentId.ToString() },
         { "userName", userName }
     }));
 }
Beispiel #10
0
 public static string GetOpenWindowString(string userName)
 {
     return(PageUtils.GetOpenWindowString("权限设置",
                                          PageUtils.GetAdminUrl(nameof(ModalPermissionsSet), new NameValueCollection
     {
         { "UserName", userName }
     })));
 }
Beispiel #11
0
 public static string GetOpenWindowStringToEdit(int areaId, string returnUrl)
 {
     return(PageUtils.GetOpenWindowString("修改区域", PageUtils.GetAdminUrl(nameof(ModalAreaAdd), new NameValueCollection
     {
         { "AreaID", areaId.ToString() },
         { "ReturnUrl", StringUtils.ValueToUrl(returnUrl) }
     }), 460, 360));
 }
Beispiel #12
0
 public static string GetShowPopWinString(int projectId)
 {
     return(PageUtils.GetOpenWindowString("设置分类",
                                          PageUtils.GetAdminUrl(nameof(ModalDepartmentSelect), new NameValueCollection
     {
         { "ProjectID", projectId.ToString() }
     }), 460, 260, true));
 }
Beispiel #13
0
 public static string GetShowPopWinString(int departmentId, string scriptName)
 {
     return(PageUtils.GetOpenWindowString("管理员选择", PageUtils.GetAdminUrl(nameof(ModalAdminSelect), new NameValueCollection
     {
         { "departmentID", departmentId.ToString() },
         { "scriptName", scriptName }
     }), 460, 400, true));
 }
Beispiel #14
0
 public void VerifyChannelPermissions(int channelId, params string[] channelPermissions)
 {
     if (HasChannelPermissions(channelId, channelPermissions))
     {
         return;
     }
     AuthRequest.AdminLogout();
     PageUtils.Redirect(PageUtils.GetAdminUrl(string.Empty));
 }
Beispiel #15
0
 public static string GetOpenWindowStringToEdit(int departmentId, string returnUrl)
 {
     return(PageUtils.GetOpenWindowString("修改部门",
                                          PageUtils.GetAdminUrl(nameof(ModalDepartmentAdd), new NameValueCollection
     {
         { "DepartmentID", departmentId.ToString() },
         { "ReturnUrl", StringUtils.ValueToUrl(returnUrl) }
     }), 460, 380));
 }
Beispiel #16
0
 public void VerifySitePermissions(params string[] sitePermissions)
 {
     if (AuthRequest.AdminPermissionsImpl.HasSitePermissions(SiteId, sitePermissions))
     {
         return;
     }
     AuthRequest.AdminLogout();
     PageUtils.Redirect(PageUtils.GetAdminUrl(string.Empty));
 }
Beispiel #17
0
 public void VerifySystemPermissions(params string[] permissionArray)
 {
     if (AuthRequest.AdminPermissionsImpl.HasSystemPermissions(permissionArray))
     {
         return;
     }
     AuthRequest.AdminLogout();
     PageUtils.Redirect(PageUtils.GetAdminUrl(string.Empty));
 }
Beispiel #18
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            if (Body.IsQueryExists("Delete") && Body.IsQueryExists("AreaIDCollection"))
            {
                var areaIdArrayList = TranslateUtils.StringCollectionToIntList(Body.GetQueryString("AreaIDCollection"));
                foreach (var areaId in areaIdArrayList)
                {
                    BaiRongDataProvider.AreaDao.Delete(areaId);
                }
                SuccessMessage("成功删除所选区域");
            }
            else if (Body.IsQueryExists("AreaID") && (Body.IsQueryExists("Subtract") || Body.IsQueryExists("Add")))
            {
                var areaId     = int.Parse(Body.GetQueryString("AreaID"));
                var isSubtract = Body.IsQueryExists("Subtract");
                BaiRongDataProvider.AreaDao.UpdateTaxis(areaId, isSubtract);

                PageUtils.Redirect(GetRedirectUrl(areaId));
                return;
            }

            if (!IsPostBack)
            {
                BreadCrumbAdmin(AppManager.Admin.LeftMenu.AdminConfiguration, "所在区域管理", AppManager.Admin.Permission.AdminConfiguration);

                ClientScriptRegisterClientScriptBlock("NodeTreeScript", AreaTreeItem.GetScript(EAreaLoadingType.Management, null));

                if (Body.IsQueryExists("CurrentAreaID"))
                {
                    _currentAreaId = Body.GetQueryInt("CurrentAreaID");
                    var onLoadScript = GetScriptOnLoad(_currentAreaId);
                    if (!string.IsNullOrEmpty(onLoadScript))
                    {
                        ClientScriptRegisterClientScriptBlock("NodeTreeScriptOnLoad", onLoadScript);
                    }
                }

                btnAdd.Attributes.Add("onclick", ModalAreaAdd.GetOpenWindowStringToAdd(GetRedirectUrl(0)));

                var urlDelete = PageUtils.GetAdminUrl(nameof(PageArea), new NameValueCollection
                {
                    { "Delete", "True" }
                });

                btnDelete.Attributes.Add("onclick", PageUtils.GetRedirectStringWithCheckBoxValueAndAlert(urlDelete, "AreaIDCollection", "AreaIDCollection", "请选择需要删除的区域!", "此操作将删除对应区域以及所有下级区域,确认删除吗?"));

                BindGrid();
            }
        }
Beispiel #19
0
 public static string GetRedirectUrl(int currentAreaId)
 {
     if (currentAreaId > 0)
     {
         return(PageUtils.GetAdminUrl(nameof(PageArea), new NameValueCollection
         {
             { "CurrentAreaID", currentAreaId.ToString() }
         }));
     }
     return(PageUtils.GetAdminUrl(nameof(PageArea), null));
 }
Beispiel #20
0
 public static string GetRedirectUrl(int currentDepartmentId)
 {
     if (currentDepartmentId != 0)
     {
         return(PageUtils.GetAdminUrl(nameof(PageDepartment), new NameValueCollection
         {
             { "CurrentDepartmentID", currentDepartmentId.ToString() }
         }));
     }
     return(PageUtils.GetAdminUrl(nameof(PageDepartment), null));
 }
Beispiel #21
0
        public static string GetReturnRedirectUrl(string roleName)
        {
            var queryString = new NameValueCollection {
                { "Return", "True" }
            };

            if (!string.IsNullOrEmpty(roleName))
            {
                queryString.Add("RoleName", roleName);
            }
            return(PageUtils.GetAdminUrl(nameof(PageRoleAdd), queryString));
        }
Beispiel #22
0
 protected void Application_BeginRequest(object sender, EventArgs e)
 {
     if (!SystemManager.IsInstalled)
     {
         String url2 = HttpContext.Current.Request.Url.LocalPath.ToString();
         if (!url2.StartsWith(PageUtils.GetAdminUrl("Installer")) &&
             !url2.StartsWith(PageUtils.GetAdminUrl("inc")) &&
             !url2.StartsWith(PageUtils.GetAdminUrl("assets")) &&
             !url2.StartsWith(PageUtils.GetAdminUrl("Pic")))
         {
             PageUtils.Redirect(PageUtils.GetAdminUrl("Installer"));
             return;
         }
     }
     if (SystemManager.IsInstalled && SystemManager.SiteList.Count > 0)
     {
         String   host = PageUtils.GetHost();
         SiteInfo currentSite;
         if (SystemManager.SiteList != null && SystemManager.SiteList.ContainsKey(host))
         {
             currentSite = SystemManager.SiteList[host];
         }
         else if (SystemManager.SiteList != null && SystemManager.SiteList.ContainsKey(""))
         {
             currentSite = SystemManager.SiteList[""];
         }
         else
         {
             currentSite = SystemManager.SiteList.Values[0];
         }
         String LocalPath = HttpContext.Current.Request.Url.LocalPath.Substring(1);
         if (LocalPath.IndexOf("/") > 0)
         {
             LocalPath = LocalPath.Substring(0, LocalPath.IndexOf("/"));
             if (!DirectoryUtils.IsSystemDirectory(LocalPath) && !DirectoryUtils.IsWebSiteDirectory(LocalPath) && LocalPath != currentSite.SiteDir && SystemManager.SiteDirs.Contains("|" + LocalPath + "|"))
             {
                 PageUtils.Redirect("/" + currentSite.SiteDir + HttpContext.Current.Request.Url.LocalPath.Substring(LocalPath.Length + 1));
                 return;
             }
         }
         else if (LocalPath != currentSite.SiteDir && SystemManager.SiteDirs.Contains("|" + LocalPath + "|"))
         {
             PageUtils.Redirect("/" + currentSite.SiteDir + "/");
             return;
         }
         else if (LocalPath != currentSite.SiteDir && LocalPath != "404.thml")
         {
             PageUtils.Redirect("/" + currentSite.SiteDir + "/" + LocalPath);
             return;
         }
     }
 }
Beispiel #23
0
        public static string GetRedirectUrl(int publishmentSystemId, string roleName)
        {
            var queryString = new NameValueCollection {
                { "PublishmentSystemID", publishmentSystemId.ToString() }
            };

            if (!string.IsNullOrEmpty(roleName))
            {
                queryString.Add("RoleName", roleName);
            }

            return(PageUtils.GetAdminUrl(nameof(PagePermissionAdd), queryString));
        }
Beispiel #24
0
        private void UpdateByVersion()
        {
            //string errorMessage;
            //if (!SystemManager.GetPackageAndUpdate(TbVersion.Text, out errorMessage))
            //{
            //    FailMessage($"手动升级 SiteServer CMS 版本失败:{errorMessage}");
            //    return;
            //}

            AuthRequest.AddAdminLog($"手动升级 SiteServer CMS 版本:{TbVersion.Text}");

            LayerUtils.CloseAndRedirect(Page, PageUtils.GetAdminUrl(PageUtils.Combine("plugins/manage.cshtml")));
        }
Beispiel #25
0
        private void rptUser_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            var userName = (string)e.Item.DataItem;

            var ltlUrl = e.Item.FindControl("ltlUrl") as Literal;

            var url = PageUtils.GetAdminUrl(nameof(ModalAdminSelect), new NameValueCollection
            {
                { "scriptName", _scriptName },
                { "UserName", userName }
            });

            if (ltlUrl != null)
            {
                ltlUrl.Text = $"<a href='{url}'>{AdminManager.GetDisplayName(userName, false)}</a>";
            }
        }
Beispiel #26
0
        public string GetPluginUrl(string pluginId, string relatedUrl = "")
        {
            if (PageUtils.IsProtocolUrl(relatedUrl))
            {
                return(relatedUrl);
            }

            if (StringUtils.StartsWith(relatedUrl, "~/"))
            {
                return(PageUtils.GetRootUrl(relatedUrl.Substring(1)));
            }

            if (StringUtils.StartsWith(relatedUrl, "@/"))
            {
                return(PageUtils.GetAdminUrl(relatedUrl.Substring(1)));
            }

            return(PageUtility.GetSiteFilesUrl(ApiManager.ApiUrl, PageUtils.Combine(DirectoryUtils.SiteFiles.Plugins, pluginId, relatedUrl)));
        }
Beispiel #27
0
        public void Page_Load(object sender, EventArgs e)
        {
            _additional.Add("UrlFormatString", PageUtils.GetAdminUrl(nameof(ModalDepartmentSelect), null));

            if (!IsPostBack)
            {
                if (Body.IsQueryExists("DepartmentID"))
                {
                    var    departmentId   = Body.GetQueryInt("DepartmentID");
                    var    departmentName = DepartmentManager.GetDepartmentName(departmentId);
                    string scripts        = $"window.parent.showCategoryDepartment('{departmentName}', '{departmentId}');";
                    PageUtils.CloseModalPageWithoutRefresh(Page, scripts);
                }
                else
                {
                    ClientScriptRegisterClientScriptBlock("NodeTreeScript", DepartmentTreeItem.GetScript(EDepartmentLoadingType.DepartmentSelect, _additional));
                    BindGrid();
                }
            }
        }
Beispiel #28
0
        public static string GetAreaRowHtml(AreaInfo areaInfo, EAreaLoadingType loadingType, NameValueCollection additional)
        {
            var treeItem = AreaTreeItem.CreateInstance(areaInfo);
            var title    = treeItem.GetItemHtml(loadingType, additional, false);

            var rowHtml = string.Empty;

            if (loadingType == EAreaLoadingType.Management)
            {
                string editUrl = $@"<a href=""javascript:;"" onclick=""{ModalAreaAdd.GetOpenWindowStringToEdit(areaInfo.AreaId,
                    GetRedirectUrl(areaInfo.AreaId))}"">编辑</a>";

                var urlUp = PageUtils.GetAdminUrl(nameof(PageArea), new NameValueCollection
                {
                    { "Subtract", "True" },
                    { "AreaID", areaInfo.AreaId.ToString() }
                });
                string upLink = $@"<a href=""{urlUp}""><img src=""../Pic/icon/up.gif"" border=""0"" alt=""上升"" /></a>";

                var urlDown = PageUtils.GetAdminUrl(nameof(PageArea), new NameValueCollection
                {
                    { "Add", "True" },
                    { "AreaID", areaInfo.AreaId.ToString() }
                });
                string downLink = $@"<a href=""{urlDown}""><img src=""../Pic/icon/down.gif"" border=""0"" alt=""下降"" /></a>";

                string checkBoxHtml = $"<input type='checkbox' name='AreaIDCollection' value='{areaInfo.AreaId}' />";

                rowHtml = $@"
<tr treeItemLevel=""{areaInfo.ParentsCount + 1}"">
    <td>{title}</td>
    <td class=""center"">{areaInfo.CountOfAdmin}</td>
    <td class=""center"">{upLink}</td>
    <td class=""center"">{downLink}</td>
    <td class=""center"">{editUrl}</td>
    <td class=""center"">{checkBoxHtml}</td>
</tr>
";
            }
            return(rowHtml);
        }
Beispiel #29
0
        public void Page_Load(object sender, EventArgs e)
        {
            _departmentId = Body.GetQueryInt("departmentID");
            _scriptName   = Body.GetQueryString("ScriptName");
            var url = PageUtils.GetAdminUrl(nameof(ModalAdminSelect), new NameValueCollection
            {
                { "scriptName", _scriptName }
            });

            _additional.Add("UrlFormatString", url);

            if (!IsPostBack)
            {
                ltlDepartment.Text = "管理员列表";
                if (Body.IsQueryExists("UserName"))
                {
                    var    userName    = Body.GetQueryString("UserName");
                    var    displayName = AdminManager.GetDisplayName(userName, true);
                    string scripts     = $"window.parent.{_scriptName}('{displayName}', '{userName}');";
                    PageUtils.CloseModalPageWithoutRefresh(Page, scripts);
                }
                else if (Body.IsQueryExists("departmentID"))
                {
                    if (_departmentId > 0)
                    {
                        ltlDepartment.Text     = DepartmentManager.GetDepartmentName(_departmentId);
                        rptUser.DataSource     = BaiRongDataProvider.AdministratorDao.GetUserNameArrayList(_departmentId, false);
                        rptUser.ItemDataBound += rptUser_ItemDataBound;
                        rptUser.DataBind();
                    }
                }
                else
                {
                    ClientScriptRegisterClientScriptBlock("NodeTreeScript", DepartmentTreeItem.GetScript(EDepartmentLoadingType.DepartmentSelect, _additional));
                }
            }

            BindGrid();
        }
Beispiel #30
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            AuthRequest = new RequestImpl(Request);

            if (!IsInstallerPage)
            {
                if (string.IsNullOrEmpty(WebConfigUtils.ConnectionString))
                {
                    PageUtils.Redirect(PageUtils.GetAdminUrl("Installer"));
                    return;
                }

                #if !DEBUG
                if (ConfigManager.Instance.IsInitialized && ConfigManager.Instance.DatabaseVersion != SystemManager.Version)
                {
                    PageUtils.Redirect(PageSyncDatabase.GetRedirectUrl());
                    return;
                }
                #endif
            }

            if (!IsAccessable)                                                                                        // 如果页面不能直接访问且又没有登录则直接跳登录页
            {
                if (!AuthRequest.IsAdminLoggin || AuthRequest.AdminInfo == null || AuthRequest.AdminInfo.IsLockedOut) // 检测管理员是否登录,检测管理员帐号是否被锁定
                {
                    IsForbidden = true;
                    PageUtils.RedirectToLoginPage();
                    return;
                }
            }

            //防止csrf攻击
            Response.AddHeader("X-Frame-Options", "SAMEORIGIN");
            //tell Chrome to disable its XSS protection
            Response.AddHeader("X-XSS-Protection", "0");
        }