婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET中的URL過濾實現代碼

ASP.NET中的URL過濾實現代碼

熱門標簽:蘋果手機凱立德地圖標注 電話機器人軟件銷售工作 申請400電話手續 百度ai地圖標注 南陽外呼系統定制化 預測式外呼系統使用說明 玉林市機器人外呼系統哪家好 同安公安400電話怎么申請流程 合肥電銷外呼系統哪家公司做的好

下面是類的定義。

復制代碼 代碼如下:

using System;
 using System.Web;
 using System.Web.SessionState;

 namespace QTJZ
 {
     public class Filters : IHttpModule, IRequiresSessionState
     {
         public void Dispose() { }

         public void Init(HttpApplication application)
         {
             application.AcquireRequestState += new EventHandler(application_AcquireRequestState);
         }

         public void application_AcquireRequestState(object sender, EventArgs e)
         {
             HttpApplication application = sender as HttpApplication;
             HttpRequest request = application.Request;
             HttpResponse response = application.Response;

             string url=request.CurrentExecutionFilePath.Trim('/');
             string suffix = request.CurrentExecutionFilePathExtension.Trim('.');

             if (!url.Equals("Default.htm") (suffix == "aspx" || suffix == "htm"))
             {
                 object sessionObj = application.Context.Session == null ? null : application.Session["useID"];
                 if (sessionObj==null)
                 {
                     response.Redirect("~/Default.htm");
                 }
             }
         }
     }
 }

為了實現過濾的效果,Filters類需要實現IHttpMoeld接口,實現該接口需要有兩個方法,一個是Dispose,另一個是Init。Init的參數是一個HttpApplication類型的實例,利用這個實例注冊一些事件。由于現在要對URL進行過濾,因此注冊的是AcquireRequestState事件。類似事件羅列如下
BeginRequest 在 ASP.NET 響應請求時作為 HTTP 執行管線鏈中的第一個事件發生。
AuthenticateRequest 當安全模塊已建立用戶標識時發生。
AuthorizeRequest 當安全模塊已驗證用戶授權時發生。
ResolveRequestCache

在 ASP.NET 完成授權事件以使緩存模塊從緩存中為請求提供服務后發生,

從而繞過事件處理程序(例如某個頁或 XML Web services)的執行。

AcquireRequestState 當 ASP.NET 獲取與當前請求關聯的當前狀態(如會話狀態)時發生。
PreRequestHandlerExecute 恰好在 ASP.NET 開始執行事件處理程序(例如,某頁或某個 XML Web services)前發生。
PostRequestHandlerExecute 在 ASP.NET 事件處理程序(例如,某頁或某個 XML Web service)執行完畢時發生。
ReleaseRequestState 在 ASP.NET 執行完所有請求事件處理程序后發生。 該事件將使狀態模塊保存當前狀態數據。
UpdateRequestCache 當 ASP.NET 執行完事件處理程序以使緩存模塊存儲將用于從緩存為后續請求提供服務的響應時發生。
EndRequest 在 ASP.NET 響應請求時作為 HTTP 執行管線鏈中的最后一個事件發生。

獲取要跳轉的url可以用request的CurrentExecutionFilePath屬性,而獲取請求文件的后綴可以用CurrentExecutionFilePathExtension,至于要按什么規則來判斷,按需求而定。我這里是在請求時判斷Session是否存在,不存在則跳轉回登陸頁面。由于要用到Session,打開頁面的時候會拋出異常,異常信息是“會話狀態在此上下文中不可用。”,在實現了IRequiresSessionState接口之后就沒有異常拋出了。

此外,還需要在配置文件Web.config的 system.web>節點下添加如下代碼
復制代碼 代碼如下:

httpModules>
add name="filters" type="QTJZ.Filters"/>
/httpModules>

其中type屬性則是上面Filters類的完全限定名

您可能感興趣的文章:
  • asp.NET 臟字過濾算法 修改版
  • asp.NET 臟字過濾算法
  • ASP.NET過濾器的應用方法介紹
  • asp.net 過濾圖片標簽的正則
  • ASP.NET環境下為網站增加IP過濾功能
  • ASP.NET過濾HTML標簽只保留換行與空格的方法
  • ASP.NET過濾HTML字符串方法總結
  • asp.net 臟字典過濾問題 用正則表達式來過濾臟數據
  • Asp.net之數據過濾淺析
  • ASP.NET過濾類SqlFilter,防止SQL注入
  • 高效.NET臟字過濾算法與應用實例

標簽:南昌 臺州 淄博 嘉興 南京 揚州 南京 海南

巨人網絡通訊聲明:本文標題《ASP.NET中的URL過濾實現代碼》,本文關鍵詞  ASP.NET,中的,URL,過濾,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中的URL過濾實現代碼》相關的同類信息!
  • 本頁收集關于ASP.NET中的URL過濾實現代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 荆门市| 麦盖提县| 张家港市| 依安县| 渝中区| 同仁县| 金堂县| 闽清县| 北京市| 红桥区| 七台河市| 乐昌市| 包头市| 保山市| 仁怀市| 商都县| 乾安县| 连州市| 丹凤县| 沐川县| 会宁县| 行唐县| 新野县| 南涧| 广东省| 大洼县| 眉山市| 桃源县| 遂平县| 滦平县| 神池县| 呈贡县| 石首市| 枝江市| 贺兰县| 新竹市| 安阳县| 新营市| 万盛区| 田林县| 如东县|