请教:关于同一账号同时登陆的问题

lyh535 2007-12-08 02:19:40
请高手帮忙,我现在有个客户端程序,登陆的时候它做了同时登陆限制。
我现在的问题是想同一帐号能在不同的计算机上面同时登陆正常使用
请问有没有什么解决办法?

...全文
291 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
cology 2007-12-09
  • 打赏
  • 举报
回复
登陆存入缓存 5分钟失效
mendel 2007-12-09
  • 打赏
  • 举报
回复
1\数据库中添加登录IP或计算机名记录,登录时判断一下最后登录时的IP或机器名是否相同,如果相同,就是同一机器登录,不是就是不同机器登录.不过别忘了清空登录状态.
lwl0376 2007-12-08
  • 打赏
  • 举报
回复
关注
skyyun 2007-12-08
  • 打赏
  • 举报
回复
学习了,
gimse7en 2007-12-08
  • 打赏
  • 举报
回复
up
lang83206569 2007-12-08
  • 打赏
  • 举报
回复
学习
yangpeiyu 2007-12-08
  • 打赏
  • 举报
回复

放在登陆成功的地方:

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

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

 //第一次登陆的时候插入一个用户相关的cache值,
 HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null);
 Session["ADMINID"] = TextBox1.Text;
 Response.Redirect("main.aspx");
}
else
{
 //重复登陆
 Response.Write("<script>alert('您的账号已经登陆!');window.location='login.aspx';</script>");
}
DemonXHunter 2007-12-08
  • 打赏
  • 举报
回复
用ip标识客户端。
wuhq030710914 2007-12-08
  • 打赏
  • 举报
回复
你可以试试客户端上线后模拟发一个下线的信号,
lyh535 2007-12-08
  • 打赏
  • 举报
回复
发表于:2007-12-08 15:19:449楼 得分:0
应该给他 判断 是否 活动状态吧 如果 活动状态又登陆了一个同样帐号的吧 就强制前一个断开


不能断开!
lyh535 2007-12-08
  • 打赏
  • 举报
回复
嗯,我就是知道很困难,所以上来发帖子问问,看你们有没有什么解决办法没
skyzero110 2007-12-08
  • 打赏
  • 举报
回复
应该给他 判断 是否 活动状态吧 如果 活动状态又登陆了一个同样帐号的吧 就强制前一个断开
wuhq030710914 2007-12-08
  • 打赏
  • 举报
回复
换句话说你要攻击他的服务器端,这个有那么容易吗?
he_8134 2007-12-08
  • 打赏
  • 举报
回复
不好意思,我没说清楚 
现在的问题是:程序不是我开发的(我这里只有一个程序的客户端而已),我要使用非常的手段
保证这个帐号同时登陆上去使用系统
说白了,就是要破解他的这个限制方法


那样除非他的服务器端设计有问题了~~你不可能施加什么外力的~~
snksxsyy 2007-12-08
  • 打赏
  • 举报
回复
学习学习
帮顶
he_8134 2007-12-08
  • 打赏
  • 举报
回复
问题是你用什么保存用户在线的状态的~~~
lyh535 2007-12-08
  • 打赏
  • 举报
回复
不好意思,我没说清楚
现在的问题是:程序不是我开发的(我这里只有一个程序的客户端而已),我要使用非常的手段
保证这个帐号同时登陆上去使用系统
说白了,就是要破解他的这个限制方法
cpio 2007-12-08
  • 打赏
  • 举报
回复

登录的时候把用户记录到数据库里面

退出的时候把它删除

如果其它用户登录,查询此用户是否已经登录,如果登录了则不允许登录

但要防止非法退出的情况,如果非法退出了,下次在同一IP(或者其它信息用来区别电脑的)登录则可以
symbol441 2007-12-08
  • 打赏
  • 举报
回复
对于这种情况,为了安全起见
一般都是采用,后者挤下前者
最后登录的用户具有访问权限,其前面登录的用户会被挤下

如果楼主真想处理,可以在数据库表增加一个相应的一个状态字段,比如,online吧
当用户登录成功以后,就把其状态字段修改为真,如果该用户继续在不同的客户端登录
则对该用户进行提示,该用户已经登录.
lyh535 2007-12-08
  • 打赏
  • 举报
回复
请高手指点指点,谢谢了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧