注册 登录
编程论坛 ASP.NET技术论坛

怎么判断一个帐户不能同时登录?

shezhenhui1989 发布于 2008-03-10 13:41, 2084 次点击
如果帐户登录了,另外一个人也是用这个帐户登录,怎么判断此帐户已经登录了?
14 回复
#2
guming2008-03-10 17:57
考虑一下使用application对象
#3
lilan12212008-03-11 15:08
如果可以的话在数据库中进行标记
#4
nply2008-03-11 15:58
OracleTransactionBase = OracleConnectionTrans.BeginTransaction(IsolationLevel.ReadCommitted);
可以进行事务处理
#5
wyg48592008-03-11 18:01
I think you could it in sql!maybe!
#6
1916381412008-03-11 20:42
1.利用标志我觉得不可行,如果用户非法关闭,那岂不是总不能登录了?
2.利用客户端的IP锁定来判断;不过我觉得如果你再一个局域网下(一个宿舍)IP相对于整个Internt你们公用了一个IP,所以不可靠
3.也利用现在时间system.DataTime.Now可以实现.用户以登录就把它存入数据库表中,并且把它赋值给Session.那么这时有用户再此登录相当于把前者取代..当然每个需要验证的页面一开始就要判断他的Session..
#7
shezhenhui19892008-03-12 12:33
谢谢你们,楼上说的问题也是啊,我刚接触,不知道用什么方法
#8
shezhenhui19892008-03-14 11:16
谁有这个实例啊
#9
hjj7222008-03-15 00:54
application好像可以,你可以上百度一下。
#10
beniao2008-03-16 23:15
可以用单例的思想去处理.
#11
shezhenhui19892008-03-18 16:09
百度没有啊
#12
川流不息2008-03-18 17:34
可以传一个SESSION ID进数据库。在传的同时,把这个ID存在SESSION中,然后,每次刷页面的时候,查数据库,两个ID是否相等。不相等,就说明,有人进了。你就OUT。
#13
川流不息2008-03-18 17:39
string strSSID=Session.SessionID;//用这个得到ID。每个用户的ID都是不同的。
#14
beniao2008-03-18 18:59
application  session这里对象对服务器所站用的资源太耗了.
我认为这样不可.
其二.如果你没刷新就去执行一次数据库查询,这是不是显得不够优化?

如果在不考虑性能的情况下这种做发是很不错的.如果是上100000万条海量数据,查询数据库的行为我认为不可取~~~

我推荐用单例  了解过 <设计模式>这东西的人应该熟悉单例.
所谓单例:保证一个类只有一个实例 并提供一个全局访问点
object obj;
if(obj==null)
{
   obj=new object();
}
else
{
   return obj;
}
用单例的思想去解决防止同一用户登录应该是可取的.
有兴趣的朋友可以试试
#15
川流不息2008-03-19 16:06
这似乎不好做到.两个人在不同的地方,所生成的对象不同,如何去判断这个对象是否已经被别人占用了呢?好像,不能扯到一块吧.
1