读书人

问一个关于Cookies登陆的有关问题

发布时间: 2012-03-19 22:03:05 作者: rapoo

问一个关于Cookies登陆的问题
login.apsx:

if (passWord == root.PassWord) //登陆密码一致
{
if (Request.Cookies[ "redlogin "] != null) //查找是否已有登陆过的Cookies记录
{
Response.Cookies[ "redlogin "].Values.Clear(); //如果有,清除(这里是不是有问题?)
}

HttpCookie myCookie = new HttpCookie( "redlogin "); //添加Cookies
myCookie.Values.Add( "user ", userName);
Response.AppendCookie(myCookie);
Server.Transfer( "UserIndex.aspx ");
}
UserIndex.aspx //验证通过后的个人基本资料页
if(!IsPostBack)
{
Label2.Text = dengLU; //第一次登陆进来,这里显示用户名正确,可是在换个用户名登录,这里却记录了上次登陆的那个用户名,怎么回事?(我一步一步测试,第一次登陆一切都没问题,第二次登录UserValidate.cs 验证类文件,中的dengLU这个函数就提示异常?怎么回事?求各位大虾指点)
}


UserValidate.cs //验证类文件


///
//这是一个得到用户名的公共
///
public string dengLU
{
get
{
if (Request.Cookies[ "redlogin "] != null)
{
HttpCookie myCookis = Request.Cookies[ "redlogin "];
return myCookis.Values[ "user "].ToString();
}
else
return null;
}
set {this.dengLU = value; }


}

我的问题是
第一次登陆进来,UserIndex.aspx的Label2.Text显示用户名正确,可是在换个用户名登录,这里却记录了上次登陆的那个用户名,怎么回事?(我一步一步测试,第一次登陆一切都没问题,第二次登录UserValidate.cs 验证类文件,中的dengLU这个函数就提示异常?怎么回事?求各位大虾指点)

球大虾看我清除Cookies对吗?还有那个UserValidate.cs验证类文件中的dengLU写得对吗?
求大侠们指点

[解决办法]
login.apsx:

if (passWord == root.PassWord) //登陆密码一致
{
if (Request.Cookies[ "redlogin "] != null) //查找是否已有登陆过的Cookies记录
{
Response.Cookies[ "redlogin "].Expires = DateTime.Now.AddDays(-1);//将这个Cookie过期掉.
}

HttpCookie myCookie = new HttpCookie( "redlogin "); //添加Cookies
myCookie.Values.Add( "user ", userName);
Response.AppendCookie(myCookie);
Server.Transfer( "UserIndex.aspx ");
}
你这样试试,看看行不,如果不行,你在换个用户名登录登陆时,先把当前用户过期掉,再登陆
[解决办法]
帮你顶一下

读书人网 >asp.net

热点推荐