首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2012-03-19 
问一个关于Cookies登陆的问题login.apsx:if(passWordroot.PassWord)//登陆密码一致{if(Request.Cookies[

问一个关于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 ");
}
你这样试试,看看行不,如果不行,你在换个用户名登录登陆时,先把当前用户过期掉,再登陆
[解决办法]
帮你顶一下

热点排行