程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> ASP.NET 應用程序級 驗證用戶是否登錄 一般處理程序

ASP.NET 應用程序級 驗證用戶是否登錄 一般處理程序

編輯:ASP.NET基礎
大家應該都希望有一種應用程序級的簡單處理程序,今天剛好被人問及,所以就簡單寫了下代碼,具體步驟如下:

1、創建一個類庫項目,名為IHandlers,名稱自定義
2、在類庫項目中添加【ASP.NET處理程序】,名為HandleSession.cs。打開此文件,添加引用:

using System.Web.SessionState
讓HandleSession類繼承接口IReadOnlySessionState。
以上兩步是為了可以使用Session對象。
該類的完整代碼如下:
復制代碼 代碼如下:
using System;
using System.Web;
using System.Web.SessionState;
namespace IHandlers
{
public class HandleSession : IHttpHandler, IReadOnlySessionState
{
/// <summary>
/// 您將需要在您網站的 web.config 文件中配置此處理程序,
/// 並向 IIS 注冊此處理程序,然後才能進行使用。有關詳細信息,
/// 請參見下面的鏈接: http://go.microsoft.com/?linkid=8101007
/// </summary>
#region IHttpHandler Members
public bool IsReusable
{
// 如果無法為其他請求重用托管處理程序,則返回 false。
// 如果按請求保留某些狀態信息,則通常這將為 false。
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
//在此寫入您的處理程序實現。
if (context.Session["UID"] == null)
{
context.Response.Redirect("http://www.baidu.com");
}
}
#endregion
}
}


實際上就是判斷如果Session對象不存在就跳轉到百度首頁。
3、編譯類庫項目,生成dll,在站點中添加對此dll的引用
4、在網站的web.config中注冊此處理程序,在<httpHandlers></httpHandlers>中添加下面一行代碼,
復制代碼 代碼如下:
<httpHandlers>
<add verb="*" path="temp/*.aspx" type="IHandlers.HandleSession, IHandlers" />
</httpHandlers>

path:指定的是根目錄下/temp文件夾下的所有*.aspx文件
type:命名空間名.類名,程序集名
更多參數說明請參考微軟 MSDN
如此處理之後,當用戶訪問temp文件夾下的aspx文件時就會觸發一般處理程序。
防盜鏈、防下載都可以采用這種方式處理。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved