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