
ASP.NET 使用PageBase來控制使用者登陸,有時候發現在Web.Config檔案裡面寫了禁止匿名登入的代碼以後,要麼就全部都登入不了網頁,要麼就是知道頁面的名稱,如Default.Aspx,然後在位址欄直接輸入路徑然後回車就進入系統了,可能是配置檔案沒有寫好,總之覺得這種方法不是很好,還是使用PageBase來判斷IE産生的Session數量要好一點,如下:
這個PageBase類:
using System;
using System.Data;
using System.Configuration;
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;
/// <summary>
///PageBase 的摘要說明
/// </summary>
public class PageBase : System.Web.UI.Page
{
public PageBase()
{
//
//TODO: 在此處添加構造函數邏輯
}
private string sessionUserName;
private string sessionPassword;
public string SessionUserName
get { return this.sessionUserName; }
public string SessionPassword
get { return this.sessionPassword; }
}
protected override void OnInit(EventArgs e)
if (base.Session["UserName"] == null || Session.Count < 2)
{
Response.Redirect("~/Login.aspx");
}
else
this.sessionUserName = Session["UserName"].ToString();
this.sessionPassword = Session["Password"].ToString();
}
然後在首頁面裡面繼承這個PageBase類,
public partial class _Default : PageBase
protected void Page_Load(object sender, EventArgs e)