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) {
} }
|
请发表评论