摘 要:该文采用Visual Studio2008为开发环境设计登录模块,其中首先对Session及Cookie的应用、Session及Cookie的特点及常用操作进行概述,然后以常见的系统登录模块为案例,先描绘其其程序流程图,然后对其实现方法和步骤进行详细的论述,并配有代码及图例.
关 键 词 :Sesson;Cookie;登录;VS2008;ASP.
中图分类号:TP393.08
cookie数据存放在客户的浏览器上,session数据放在怎么写作器上;cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果考虑到安全应当使用session;session会在一定时间内保存在怎么写作器上.当访问增多,会比较占用你怎么写作器的性能,如果考虑到减轻怎么写作器性能方面,应当使用COOKIE
1.Session与Cookie的特点
1.1 Cookie特点
将客户的信息存于客户端,存放时间可自由设定
优点:不增加怎么写作器负担
缺点:安全性差
1.2 Session特点
将客户信息存于怎么写作器端,关闭浏览器时就丢失
优点:安全性高
缺点:占用了怎么写作器的资源
2.Session的操作
2.1 存入:Session["变量名"]等于值;
2.2 取出:string 变量等于Session["变量名"].ToString();
3.Cookie的操作
3.1 临时Cookie:只在内存中,关闭浏览器就丢失
Response.Cookies["CookieUser"].Value 等于 UserName;
3.2 永久Cookie:只需设置过期时间就可以生成文件永久存入在客户端电脑中
Response.Cookies["变量名"].Value 等于 值;
Response.Cookies["变量名"].Expires 等于 DateTime.Now.AddYears(1);
3.3 取出Cookie
string 变量等于Request.Cookie["变量名"].Value;
4.程序流程图
5.实现步骤
5.1 进入VS2008,新建网站
5.2 建立如下登录页面:Login.aspx
5.3 建立主页:Main.aspx
5.4 在Login.asxp.cs代码文件中Page_Load()中读取Cookie
protected void Page_Load(object sender, EventArgs e)
{
string UserName 等于 "";
try
{
UserName 等于 Request.Cookies["UserCookie"].Value;
}
catch (Exception)
{
}
if (UserName !等于 "")
{
Session["UserSession"] 等于 UserName;
Response.Redirect("Main.aspx");
}
}
5.5 在Login.aspx的“登录按钮”事件中
判断用户名和是否正确,若正确且选中了“下次是否自动登录”选择按钮,则将用户名存入Cookie,不管是否选中“下次是否自动登录”,都将用户名存入Session中,然后跳转到Main.aspx页面.
protected void Button1_Click(object sender, EventArgs e)
{
string UserName 等于 this.TextBox1.Text;
string Password 等于 this.TextBox2.Text;
if (UserName 等于等于 "史小静" && Password 等于等于 "123")
{
if (this.CheckBox1.Checked)
{
Response.Cookies["CookieUser"].Value 等于 UserName;
Response.Cookies["CookieUser"].Expires 等于 DateTime.Now.AddYears(1);
}
Session["SessionUser"] 等于 UserName;
Response.Redirect("Main.aspx");
}
}
5.6 在Main.aspx页面中的Page_Load()方法,加入检查Session是否为空的代码
protected void Page_Load(object sender, EventArgs e)
{//通过判断Session是否为空可限制用户不登录直接进入
if (Session["UserSession"] 等于等于 null || Session["UserSession"].ToString() 等于等于 "")//Session的名字必须与前面存入时相同
{
Response.Write("");
}
}
5.7 主页退出:添加“退出”按钮
protected void Button1_Click(object sender, EventArgs e)
{
Session.Abandon();//清除Session
Response.Redirect("Login.aspx");
}
6.小结
Session与Cookie在web中应用广泛,具体选择可根据实际情况而定.