打印本文 打印本文 关闭窗口 关闭窗口
ASP.NET中的页面访问控制
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3234  更新时间:2009/4/23 10:45:07  文章录入:mintao  责任编辑:mintao
                 username=cookie["UserName"];

                       int AccessCount=int.Parse(cookie["AccessCount"]) + 1;

                       cookie["AccessCount"]=AccessCount.ToString();

                       cookie.Expires = DateTime.Now.AddDays(30);

                       Response.Cookies.Add(cookie);

                           //填入Session信息

                       Session["UserName"] = username;

                       Session["AccessCount"] = AccessCount;

                   }

                      else//Cookie为空

                       Response.Redirect("SignIn.aspx",true);

              }

              Response.Write("Welcome " + (string)Session["UserName"] + "<BR>");

              Response.Write("You have visited for " + Session["AccessCount"].ToString() + " times" + "<BR>");

                //下面的语句使用了Request.QueryString属性取得附在URL中的参数

              Response.Write("QueryString Message=" + Request.QueryString["Message"]);

     }

页面的Page_Load事件在每次页面Postback回服务端后均会触发,值得注意的是,其Page_Load触发时间要先于服务器控件事件(例如按钮的单击事件)。请看下面有关ASP.NET页面的生命周期的简要叙述如下,详情请参见MSDN网站:

1Initialization-页面初始化(初始化页面及其控件);

2、Load View State-载入视图状态(载入视图状态到页面,视图状态存储了上次访问后页面的状态信息,该事件仅在页面Postback后触发);

3、Load Postback Data-载入返回数据(载入控件被修改的属性信息并予以更新,该事件也仅在页面Postback后触发);

4、Load-载入(即Page_Load事件,该事件发生表示页面已经恢复到上次访问时的状态);

5、Raise Postback Event(那些属性值发生了改变的服务器控件将触发Postback事件,注意,该阶段并未使用视图状态的信息,该事件也仅在页面Postback后触发)

6、Save View State(保存页面的视图状态信息)、

7、Render(产生最终显示给客户端的HTML代码)。

在这里,我们在Protected.aspx页面的Page_Load事件处理函数添加了页面的访问控制代码,其先检查Session,假如Session中找不到授权信息(这里是Session[“UserName”]不为空),再试图从获取客户端的Cookie信息来判断是否用户已经登入过。

最后,简单提一下删除Cookie和清除Session的代码,你可以在Protected.aspx页面上添加一个按钮,然后将它添加到这个按钮的Click事件中,就可以实现注销功能:

System.Web.HttpCookie cookie= Request.Cookies["UserInfo"];

              if(cookie!=null)//Cookie不为空

            {

                 cookie.Expires = DateTime.Now.AddDays(-1);

                 Response.Cookies.Add(cookie);

上一页  [1] [2] [3] [4]  下一页

打印本文 打印本文 关闭窗口 关闭窗口