HttpModule 的權限管理與工作原理

httpmodule是如何工作的

當一個http請求到達httpmodule時,整個asp教程.net framework系統還並沒有對這個http請求做任何處理,也就是說此時對于http請求來講,httpmodule是一個http請求的“必經之路”,所以可以在這個http請求傳遞到真正的請求處理中心(httphandler)之前附加一些需要的信息在這個http請求信息之上,或者針對截獲的這個http請求信息作一些額外的工作,或者在某些情況下幹脆終止滿足一些條件的http請求,從而可以起到一個filter過濾器的作用

using system;
using system.collections.generic;
using system.text;
using system.web;


namespace myhttpmodule
{
/// <summary>
/// 說明:用來實現自己的httpmodule類。
/// </summary>
public class myfirsthttpmodule : ihttpmodule
{
private void application_beginrequest(object sender, eventargs e)
{
httpapplication application = (httpapplication) sender;

httpcontext context = application.context;
httprequest request = application.request;
httpresponse response = application.response;

response.write("我來自自定義httpmodule中的beginrequest<br />");
}


private void application_endrequest(object sender, eventargs e)
{
httpapplication application = (httpapplication) sender;

httpcontext context = application.context;
httprequest request = application.request;
httpresponse response = application.response;

response.write("我來自自定義httpmodule中的endrequest<br />");
}

#region ihttpmodule 成員


public void dispose()
{
}

public void init(httpapplication application)
{
application.beginrequest += new eventhandler(application_beginrequest);
application.endrequest += new eventhandler(application_endrequest);
}

#endregion
}
}

httpmodule 的權限管理

////下面是web.config 裏面的

<httpmodules>
<add name="scriptmodule" type="system.web.handlers.scriptmodule,
system.web.extensions, version=3.5.0.0, culture=neutral,
publickeytoken=31bf3856ad364e35"/>
<add name="mymodule" type="mymodule.mymodule"/>
<!--<add name="mymodule" type=""/>-->
</httpmodules>
///這樣每執行個頁面會調用這個方法。

.net代碼

using system.configuration;
using system.linq;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.htmlcontrols;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.xml.linq;

/// <summary>
///class1 的摘要說明
namespace mymodule
{
public class mymodule : ihttpmodule
{
/// <summary>
/// 初始化加入兩個事件到application 裏面去.
/// </summary>
/// <param name="application"></param>
public void init(httpapplication application)
{
application.beginrequest += (new
eventhandler(this.application_beginrequest));
application.endrequest += (new
eventhandler(this.application_endrequest));
}
///在這裏必須相當于是把response轉過來。在這裏根本直接用不了。不知道爲啥。
///寫這個的作用是進行權限判斷。
private void application_beginrequest(object source, eventargs e)
{
httpapplication application = (httpapplication)source;
httpresponse responseo教程k = application.context.response;




responseok.write("<h1>beginning of request</h1><hr>");

}
private void application_endrequest(object source, eventargs e)
{
httpapplication application = (httpapplication)source;
httpresponse responseok = application.context.response;
responseok.write("<h1>end of request</h1><hr>");
}
public void dispose() { }
}
}

更多相關文章
  • 本文章詳細的介紹一下關于MYSQL Grant,Revoke用戶權限管理用法介紹,有需要的朋友可參考參考.MySQL可以爲不同的用戶分配嚴格的.複雜的權限.這些操作大多都可以用SQL指令Grant(分配權限)和Rev
  • Git是一個什麽東西我就不介紹了,下文介紹的主要是說Git權限的一個管理工具配置了,有興趣的和小編來學學吧.文章中使用的server,指的是的伺服器端的公網ip./mnt是我的阿裏雲外挂盤,新建用戶不指定目標位置,會自動在/home下生成.Gitolite配置1.在指定目錄/mnt/git下建立一個 ...
  • linux系統中權限是非常完善的一個功能了,我們如果設置不正確文件就無法使用了,像我們以一般情況需要把文件權限設置爲777或644了,對于用戶權限就更加了,像素ftp,nginx,php這些我們都可以給它們設置一個用
  • 三星G6000手機如何管理應用程序權限(Galaxy On7)
    三星G6000手機如何管理應用程序權限?(Galaxy On7)這款手機在這個權限上還是做得非常的不錯了,我人一起來看看此功能的使用方法.您可以對應用程序權限進行管理,如允許或禁止應用程序的某些權限,以保護您的隱私.若想使用該功能,請按以下步驟操作: 1.在待機頁面下,點擊[應用程序]. 2.點擊[ ...
  • ASP.NET MVC 用 CLK.AspNet.Identity 解決依權限顯示選單專案
    Microsoft.AspNet.Identity是符合微軟開放Owin標准裏面Security標准的一種實現.且在MVC 5中默認使用EntityFramework作爲Microsoft.AspNet.Identity的數據存儲實現.CLK.AspNet.IdentityCLK.AspNet.Id ...
  • 本文章介紹關于SAP 用戶權限解剖詳解,有需要的朋友可以參考一下本文章.[IT168 信息化] 通常basis會使用PFCG做權限管理,時你保存時會産生一個系統外的profile name, 記得SU01時用戶有profile 和role兩欄位嗎?它們的關系如何呢? 首先明白幾個概念. 1.acti
  • 小米手機MIUI開啓系統自帶ROOT權限方法
    很多的安卓系統手機都要獲得ROOT權限我們必須安裝第三方的root刷機工具才可以獲取到手機的ROOT權限了,但是現在的小米系統miui系統自帶了ROOT權限獲得工具了,我們下文就和各位朋友一起來看關于小米手機MIUI ROOT權限開啓步驟.1.在小米手機MIUI系統主界找到“ 安全中心”然後我們再找 ...
  • 在linux中要修改一個文件夾或文件的權限我們需要用到linux chmod命令來做,下面我寫了幾個簡單的實例大家可參考一下.語法:chmod [who] [+ | - | =] [mode] 文件名命令中各選項的含義爲u 表示“用戶(user)”,即文件或目錄的所有者.g 表示“同組(group)
一周排行