标题:关于重复登陆的问题,怎么用session去定义一个过期时间
取消只看楼主
chenyirui121
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-17
 问题点数:0 回复次数:0 
关于重复登陆的问题,怎么用session去定义一个过期时间

我现在用用户空间做了一个登陆框,然后在用户空间里写了以下代码:private void Page_Load(object sender, System.EventArgs e)
{ if(!this.IsPostBack)
{this.Panel2.Visible=false;
this.Panel1.Visible=true;
}// 在此处放置用户代码以初始化页面
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器
/// 修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.txtUser.TextChanged += new System.EventHandler(this.txtUser_TextChanged);
this.btnLogin.Click += new System.EventHandler(this.btnLogin_Click);
this.btnRegister.Click += new System.EventHandler(this.btnRegister_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void txtUser_TextChanged(object sender, System.EventArgs e)
{

}

private void btnLogin_Click(object sender, System.EventArgs e)
{ Session["user"]=this.txtUser.Text;
string loginUser=Session["user"].ToString();
string loginPwd=this.txtPwd.Text;

if(operateClass.operate.selectUser(loginUser)&&operateClass.operate.selectPwd(loginPwd))
{


this.Panel2.Visible=true;
this.lblLoginUser.Text=loginUser;
}
private void btnRegister_Click(object sender, System.EventArgs e)
{
Response.Redirect("register.aspx");
}



当我把用户空间拖到我的新闻主页newsMain.aspx的时候,我在page_load里写了以下代码:Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
string key=Session["user"].ToString();
string user=Convert.ToString(Cache[key]);
if(user==string.Empty)
{
TimeSpan SessTimeout=new TimeSpan(0,0,System.Web.HttpContext.Current.Session.Timeout,120,0);
HttpContext.Current.Cache.Insert(key,key,null,DateTime.MaxValue.AddMinutes(2),SessTimeout,System.Web.Caching.CacheItemPriority.NotRemovable,null);
Session["adminID"]=Session["user"];
Response.Write("newsMain.aspx");
}
else
{
Response.Write("<script>alert('用户名已经登陆');windows.location='newsMain.aspx';</script>");
Response.Redirect("newsMain.aspx");
}

}


代码是用来防止用户重复登陆的,可是我写的时候不对啊,是不是哪里写错了.还是逻辑不对啊.各位高手帮忙看一下:

搜索更多相关主题的帖子: session 定义 过期 登陆 时间 
2007-05-02 14:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-136560-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.897526 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved