ASP.NET 應(yīng)用程序級(jí) 驗(yàn)證用戶是否登錄 一般處理程序
1、創(chuàng)建一個(gè)類庫項(xiàng)目,名為IHandlers,名稱自定義
2、在類庫項(xiàng)目中添加【ASP.NET處理程序】,名為HandleSession.cs。打開此文件,添加引用:

using System.Web.SessionState
讓HandleSession類繼承接口IReadOnlySessionState。
以上兩步是為了可以使用Session對(duì)象。
該類的完整代碼如下:
using System;
using System.Web;
using System.Web.SessionState;
namespace IHandlers
{
public class HandleSession : IHttpHandler, IReadOnlySessionState
{
/// <summary>
/// 您將需要在您網(wǎng)站的 web.config 文件中配置此處理程序,
/// 并向 IIS 注冊(cè)此處理程序,然后才能進(jìn)行使用。有關(guān)詳細(xì)信息,
/// 請(qǐng)參見下面的鏈接: http://go.microsoft.com/?linkid=8101007
/// </summary>
#region IHttpHandler Members
public bool IsReusable
{
// 如果無法為其他請(qǐng)求重用托管處理程序,則返回 false。
// 如果按請(qǐng)求保留某些狀態(tài)信息,則通常這將為 false。
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
//在此寫入您的處理程序?qū)崿F(xiàn)。
if (context.Session["UID"] == null)
{
context.Response.Redirect("http://www.baidu.com");
}
}
#endregion
}
}
實(shí)際上就是判斷如果Session對(duì)象不存在就跳轉(zhuǎn)到百度首頁。
3、編譯類庫項(xiàng)目,生成dll,在站點(diǎn)中添加對(duì)此dll的引用
4、在網(wǎng)站的web.config中注冊(cè)此處理程序,在<httpHandlers></httpHandlers>中添加下面一行代碼,
<httpHandlers>
<add verb="*" path="temp/*.aspx" type="IHandlers.HandleSession, IHandlers" />
</httpHandlers>
path:指定的是根目錄下/temp文件夾下的所有*.aspx文件
type:命名空間名.類名,程序集名
更多參數(shù)說明請(qǐng)參考微軟 MSDN
如此處理之后,當(dāng)用戶訪問temp文件夾下的aspx文件時(shí)就會(huì)觸發(fā)一般處理程序。
防盜鏈、防下載都可以采用這種方式處理。
相關(guān)文章
"虛擬路徑"..."映射到另一個(gè)應(yīng)用程序,這是不允許的!
原因: 用戶控件不能跨虛擬目錄調(diào)用。2008-12-12詳解在DevExpress程序中使用TreeList控件以及節(jié)點(diǎn)查詢的處理
本篇文章主要介紹基于DevExpress的TreeList控件使用以及使用SearchControl對(duì)節(jié)點(diǎn)進(jìn)行查詢的操作,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2016-12-12asp.net錯(cuò)誤捕獲(錯(cuò)誤處理)page_error事件使用方法
Page_Error事件提供了一種捕獲頁面級(jí)錯(cuò)誤的方法。對(duì)于錯(cuò)誤的處理,您可以只是顯示錯(cuò)誤信息(正如下面的示例代碼所示),也可以記錄事件或執(zhí)行某個(gè)其他操作2014-01-01ASP.NET中Web API的簡(jiǎn)單實(shí)例
Web API框架是一個(gè)面向Http協(xié)議的通信框架,Web API 框架是一個(gè)面向Http協(xié)議的通信框架。Web API 框架目前支持兩種數(shù)據(jù)格式的序列化:Json 及 Xml。在不做任何配置的情況下,則 Web API 會(huì)自動(dòng)把數(shù)據(jù)使用xml進(jìn)行序列化,否則使用 json 序列化,需要的朋友可以參考下2015-10-10一步一步學(xué)asp.net Ajax登錄設(shè)計(jì)實(shí)現(xiàn)解析
做一個(gè)登錄,擁有自動(dòng)記住賬號(hào)和密碼的功能,要保證安全性,ajax,無刷新,良好的用戶體驗(yàn).(母板頁)2012-05-05.NET生成動(dòng)態(tài)驗(yàn)證碼的完整步驟
這篇文章主要給大家介紹了關(guān)于.NET生成動(dòng)態(tài)驗(yàn)證碼的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用.NET具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Asp.net中使用文本框的值動(dòng)態(tài)生成控件的方法
這篇文章主要介紹了Asp.net中使用文本框的值動(dòng)態(tài)生成控件的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-05-05asp.net下gridview 批量刪除的實(shí)現(xiàn)方法
asp.net下gridview 批量刪除的實(shí)現(xiàn)方法...2007-11-11