예제 #1
0
        protected override bool IsAccessable => true; // 设置本页面是否能直接访问 如果为false,则必须管理员登录后才能访问

        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;              // 如果无权访问页面,则返回空白页
            }
            try
            {
                _vcManager = VcManager.GetInstance(); // 构建验证码实例
                if (Page.IsPostBack)
                {
                    return;
                }

                PhFindPassword.Visible = ConfigManager.SystemConfigInfo.IsAdminFindPassword;

                if (AuthRequest.IsQueryExists("error")) // 如果url参数error不为空,则把错误信息显示到页面上
                {
                    LtlMessage.Text = GetMessageHtml(AuthRequest.GetQueryString("error"));
                }

                SystemManager.DetermineRedirectToInstaller(); // 判断是否需要安装,如果需要则转到安装页面。

                LtlValidateCodeImage.Text =
                    $@"<a href=""javascript:;"" onclick=""$('#imgVerify').attr('src', $('#imgVerify').attr('src') + '&' + new Date().getTime())""><img id=""imgVerify"" name=""imgVerify"" src=""{PageValidateCode.GetRedirectUrl(_vcManager.GetCookieName())}"" align=""absmiddle"" /></a>";
            }
            catch
            {
                // 再次探测是否需要安装或升级
                if (SystemManager.IsNeedInstall())
                {
                    PageUtils.Redirect(PageInstaller.GetRedirectUrl());
                }
                else if (SystemManager.IsNeedUpdate())
                {
                    PageUtils.Redirect(PageSyncDatabase.GetRedirectUrl());
                }
                else
                {
                    throw;
                }
            }
        }
예제 #2
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            AuthRequest = new AuthRequest(Request);

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

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

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

                if (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");
        }