文章投稿 | 加入收藏 | 繁體中文
网站首页 | 站长之家 | 业界新闻 | 网站运营 | 联盟资讯 | IDC资讯 | 免费资源 | 站长学院 | 站长工具 | 站长手册 | 站长论坛
┫当前位置:网站首页 > 站长学院 > 网络编程 > ASP.net 2.0 实现防止同一用户同时登陆 > 正文

ASP.net 2.0 实现防止同一用户同时登陆

作者:佚名  来源:本站收集  时间:2008-5-6 20:01:56  点击:  字体:

    首先谈一下思路:要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。中国专业站长网

    在以下实例中我使用一个user存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除user中的内容了,也就是设置一个user的时间。这个时间可以跟用户的session值联系起来,刚好当用户session值失效的时候该用户在user里面的信息也会被清空。这样就达到了防止同时登陆的效果,一下是具体代码(放在登陆成功的地方): 中国*专业站长*网

string key = TextBox1.Text; //用户名文本框设为user关键字
string uer = Convert.ToString(user[key]); //读取user中用户相应的值
//判断user中是否有用户的信息,如果没有相关的值,说明用户未登陆
if (uer == null || uer == String.Empty)
{
 //定义user过期时间

 TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);

 //第一次登陆的时候插入一个用户相关的user值,
 HttpContext.Current.user.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.userItemPriority.NotRemovable, null);
 Session["ADMINID"] = TextBox1.Text;
 Response.Redirect("main.aspx");
}
else
{
 //重复登陆
 Response.Write("<script>alert('您的账号已经成功登陆!');window.location='login.aspx';</script>");
}

热门排行
精彩推荐
     下一篇文章:
文章评论
昵 称:    验证码:
内 容:
 
关于我们 - 公司动态 - 联系我们 - 友情链接 - 广告服务 - 版权声明 - 网站地图 - 网站帮助
Copyright © 2003-2009 ID89.COM All Rights Reserved
备案/许可证编号:粤ICP备08035961号