.net 程序如何实现一个用户同一时间只能登陆一次?急

2025-04-28 03:34:05
推荐回答(3个)
回答1:

很简单,直接使用Session对象就可以了, if (Session["username"]==null)//没登录时Session中是Null
{
//写自己的用户验证代码
if (true)//如果登录成功,保存用户名到session中
Session["username"] = "用户名";}
else//如果不是null就是已经登录了
Response.Write("已登录");Session中的内容,在超过一定的时间或用户关闭浏览后,就会自动清除了。退出时把session值直接清下就可以:Session["username"] = null;

回答2:

用session的话,用户异常退出后,在session超时的时间内不能再次登录,这也不好。客户端可以用ajax每隔一段时间(几秒钟)刷新一下服务器状态,并记录上次刷新;在服务器上,同时每隔一段时间将长时间没有刷新的用户置0。这样就可以做到用户的实时在线状态了。具体可以参照公司的直播交流程序(早起的web版)

回答3:

把登录的用户名和保存在Session中的值相比较或者在数据库中存入一个标识,当用户登录时先进行修改 比如:0(未登录)或1(已登录)然后取出判断就OK了这个方法很多的