/// <summary> /// 是否是需要检查票据的阶段 /// </summary> /// <returns></returns> private bool IsCheckPhaseMatched(AccessTicketCheckPhase phase) { bool result = (CheckPhase & phase) != AccessTicketCheckPhase.None; if (result && string.Compare(Page.Request.HttpMethod, "POST", true) == 0) { result = (CheckPhase & AccessTicketCheckPhase.Post) != AccessTicketCheckPhase.None; } if (result && Page.IsCallback) { result = (CheckPhase & AccessTicketCheckPhase.CallBack) != AccessTicketCheckPhase.None; } return(result); }
private void CheckAccessTicket(AccessTicketCheckPhase phase) { if (this.Enabled && IsCheckPhaseMatched(phase)) { PageRenderMode renderMode = Request.GetRequestPageRenderMode(); if (renderMode == null || renderMode.UseNewPage == false) { Uri matchedUrl = null; if (this.CheckUrl) { matchedUrl = this.Page.Request.Url; } AccessTicketCheckEventArgs eventArgs = null; try { AccessTicket ticket = AccessTicketManager.CheckAccessTicket(matchedUrl, this.UrlCheckParts, this.Timeout); eventArgs = new AccessTicketCheckEventArgs(ticket, true, string.Empty); } catch (AccessTicketCheckException ex) { AccessTicket ticket = AccessTicketManager.GetAccessTicket(); eventArgs = new AccessTicketCheckEventArgs(ticket, false, ex.Message); } OnTicketChecking(eventArgs); if (eventArgs.IsValid == false) { throw new AccessTicketCheckException(eventArgs.ErrorMessage); } } } }
/// <summary> /// 是否是需要检查票据的阶段 /// </summary> /// <returns></returns> private bool IsCheckPhaseMatched(AccessTicketCheckPhase phase) { bool result = (CheckPhase & phase) != AccessTicketCheckPhase.None; if (result && string.Compare(Page.Request.HttpMethod, "POST", true) == 0) result = (CheckPhase & AccessTicketCheckPhase.Post) != AccessTicketCheckPhase.None; if (result && Page.IsCallback) result = (CheckPhase & AccessTicketCheckPhase.CallBack) != AccessTicketCheckPhase.None; return result; }
private void CheckAccessTicket(AccessTicketCheckPhase phase) { if (this.Enabled && IsCheckPhaseMatched(phase)) { PageRenderMode renderMode = Request.GetRequestPageRenderMode(); if (renderMode == null || renderMode.UseNewPage == false) { Uri matchedUrl = null; if (this.CheckUrl) matchedUrl = this.Page.Request.Url; AccessTicketCheckEventArgs eventArgs = null; try { AccessTicket ticket = AccessTicketManager.CheckAccessTicket(matchedUrl, this.UrlCheckParts, this.Timeout); eventArgs = new AccessTicketCheckEventArgs(ticket, true, string.Empty); } catch (AccessTicketCheckException ex) { AccessTicket ticket = AccessTicketManager.GetAccessTicket(); eventArgs = new AccessTicketCheckEventArgs(ticket, false, ex.Message); } OnTicketChecking(eventArgs); if (eventArgs.IsValid == false) throw new AccessTicketCheckException(eventArgs.ErrorMessage); } } }