HttpContext類包含了個別HTTP請求的所有特定HTTP信息
用戶驗證是大部分ASP
實際上
分配給HttpContext
首先
MyIprincipal
using System;
using System
namespace HttpContextUserEG
{
/// <summary>
/// MyPrincipal 的摘要說明
/// </summary>
/// 實現IPrincipal接口
public class MyPrincipal : System
{
private System
private ArrayList roleList;
public MyPrincipal(string userID
{
//
// TODO: 在此處添加構造函數邏輯
//
identity = new MyIdentity(userID
if(identity
{
//如果通過驗證則獲取該用戶的Role
//讀取指定用戶的Role並將其添加到Role中
roleList = new ArrayList();
roleList
}
else
{
// do nothing
}
}
public ArrayList RoleList
{
get
{
return roleList;
}
}
#region IPrincipal 成員
public System
{
get
{
// TODO: 添加 MyPrincipal
return identity;
}
set
{
identity = value;
}
}
public bool IsInRole(string role)
{
// TODO: 添加 MyPrincipal
return roleList
}
#endregion
}
}
MyIdentity
using System;
namespace HttpContextUserEG
{
/// <summary>
/// MyIdentity 的摘要說明
/// </summary>
/// 實現IIdentity接口
public class MyIdentity : System
{
private string userID;
private string password;
public MyIdentity(string currentUserID
{
//
// TODO: 在此處添加構造函數邏輯
//
userID = currentUserID;
password = currentPassword;
}
private bool CanPass()
{
//這裡朋友們可以根據自己的需要改為從數據庫中驗證用戶名和密碼
//這裡為了方便我直接指定的字符串
if(userID ==
{
return true;
}
else
{
return false;
}
}
public string Password
{
get
{
return password;
}
set
{
password = value;
}
}
#region IIdentity 成員
public bool IsAuthenticated
{
get
{
// TODO: 添加 MyIdentity
return CanPass();
}
}
public string Name
{
get
{
// TODO: 添加 MyIdentity
return userID;
}
}
//這個屬性我們可以根據自己的需要來靈活使用
public string AuthenticationType
{
get
{
// TODO: 添加 MyIdentity
return null;
}
}
#endregion
}
}
在完成了這兩個類之後我們還要創建一個自己的Page類
MyPage
using System;
using System
namespace HttpContextUserEG
{
/// <summary>
/// MyPage 的摘要說明
/// </summary>
/// 繼承自Page類
public class MyPage : System
{
public MyPage()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
protected override void OnInit(EventArgs e)
{
base
this
}
//在頁面加載的時候從緩存中提取用戶信息
private void MyPage_Load(object sender
{
if(Context
{
if(Context
{
Hashtable userMessage = (Hashtable)Context
MyPrincipal principal = new MyPrincipal(userMessage[
Context
}
}
}
}
}
下面就是我們的界面WebForm
WebForm
<%@ Page language=
<!DOCTYPE HTML PUBLIC
<HTML>
<HEAD>
<title>WebForm
<meta content=
<meta content=
<meta content=
<meta content=
</HEAD>
<body>
<form id=
<P><FONT face=
<asp:TextBox id=
密 碼:
<asp:TextBox id=
<P><FONT face=
<asp:Button id=
<asp:Label id=
<
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26002.html