asp.net IHttpModule模板用戶登陸代碼實例

asp教程.net ihttpmodule模板用戶登陸代碼實例

void application_acquirerequeststate(object source, eventargs e)
{
httpapplication application = (httpapplication)source;

user user = (user)application.context.session["user"]; //獲取user
if (user == null)
{
// application.context.server.transfer("webform1.aspx");
string requesturl = application.request.url.tostring();
string requestpage = requesturl.substring(requesturl.lastindexof('/') + 1);

// 如果請求的頁面不是登錄頁面,剛重定向到登錄頁面。

if (requestpage != "login.aspx")
// application.server.transfer("ihttphandlertext/login/login.aspx");
application.response.redirect("login/login.aspx");
}
else
{
application.response.write(string.format("歡迎您!{0}!", user.name));

}
}


%>

創建自定義 http 模塊

ihttpmodule 接口
向實現類提供模塊初始化和處置事件。

命名空間:system.web
程序集:system.web(在 system.web.dll 中)

語法
public interface ihttpmodule

public interface ihttpmodule


public class helloworldmodule : ihttpmodule
{
public helloworldmodule()
{
}

public string modulename
{
get { return "helloworldmodule"; }
}

// in the init function, register for httpapplication
// events by adding your handlers.
public void init(httpapplication application)
{
application.beginrequest +=
(new eventhandler(this.application_beginrequest));
application.endrequest +=
(new eventhandler(this.application_endrequest));
}

private void application_beginrequest(object source,
eventargs e)
{
// create httpapplication and httpcontext objects to access
// request and response properties.
httpapplication application = (httpapplication)source;
httpcontext context = application.context;
context.response.write("<h1><font color=red>
helloworldmodule: beginning of request
</font></h1><hr>");
}

private void application_endrequest(object source, eventargs e)
{
httpapplication application = (httpapplication)source;
httpcontext context = application.context;
context.response.write("<hr><h1><font color=red>
helloworldmodule: end of request</font></h1>");
}

public void dispose()
{
}
}

更多相關文章
  • frameset裏面,也就是裏面的frame是來自第三方站點(不同ip或不同域名),那麽默認情況下ie會自動禁用這些站點的cookie,也就是在請求某url時在http header裏不發送它們的cookie,包括session的cookie.注意,這些站點在response裏面設置的cookie還 ...
  • 我的echsop中需要在模板中用到運算功能,所以就對ecshop進行了二次開發,現在把支持echsop模板php運算的代碼分享出來.將運算代碼集成到ecshop的步驟如下:在 cls_template.php 底部加入函數:/*** 處理math中的公式. * */ function get_mat ...
  • 本文章來給大家介紹關于Dedecms中獲取登錄用戶名與ID號實例各位有需要了解的同學可參考一下.獲取當前登錄用戶名1.include/arc.archives.class.php在第9行下面加入下面這段代碼: 代碼如下 require_once("../member/config.php& ...
  • asp.net三種發送郵件代碼(stmp,無組件郵件發送)asp教程.net三種發送郵件代碼(stmp,無組件郵件發送)public bool sendmails(){smtpclient _smtpclient = new smtpclient();_smtpclient.deliverymeth ...
  • 本文章介紹了關于織夢cms免費登錄接口for dedev5.x自動登錄代碼有需要了解的朋友可以參考一下.實現步驟如下:取消DEDE未登陸時出現的登陸提示 自動登陸DEDE 修改一處DEDE的代碼,爲DEDE程序管理員目錄的config.php,默認路徑爲dede/config.php,代碼如下:// ...
  • asp.net與SWFUpload頭像截圖上傳實例
    我以前有介紹過利用php實現上傳圖片進行剪切功能,下面我來給大家分享一篇asp.net與SWFUpload頭像截圖上傳代碼實現方法有需要了解的朋友可進入參考.SWFUpload自定義性很強,非常適合做上傳操作,但有時候我們只也可以用一些做好的f更簡單的falsh完成這一功能.下面我們就用一個比較簡單
  • 代碼如下 function send_msg($to,$subject,$body) {$send_addr = [email protected]'; //發送人地址$header = "from: admin <".
  • asp.net中CodeTimer .net下的效能計數器實例
    本文章介紹了關于asp.net中CodeTimer .net下的效能計數器實例,有需要的同
一周排行