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) {}
}