我希望达到的效果是一台电脑上只有一个账号可以登录,a登录了,b、c、d,包括a自己就都不能登录了
但是a、b、c、d账号都可以在别的电脑上登录,这个应该怎么实现孟子的那个单点登录测试是a登录了,a就不能再登录,但是b、c、d都还可以登录

解决方案 »

  1.   

    可以检测现在的Form验证的cookies是否存在,不存在就可以登录,存在就禁止登录。
      

  2.   

    登录的时候判断是不是存在这个网站的cookie,如果存在就禁止登录,不存在就可以登录
    退出的时候清空cookie
    这样做吗?
      

  3.   


    这里我思考下啊, 什么叫一台电脑,我想应该是一个网卡吧。。所以是不是吧机器名字改成网卡MAC地址+ 用户名
      

  4.   


    我现在就纠结在cookie上了,怎么都不成功,难道cookie真的不行吗?
      

  5.   

    电脑带着身份证来登录了,你记录一下,再拿这个身份证来登录你都给我踢掉。
    身份证就是机子的唯一标识号。
    WEB中能做的唯一的标识号你自己想啊。
      

  6.   

    不好弄浏览器中的cookie不是互通的
    用cookie不行的如把mac地址保存到  Application 去验证
    mac地址在非ie浏览器里获取不到
      

  7.   

    a登录了,b、c、d,包括a自己就都不能登录了
    但是a、b、c、d账号都可以在别的电脑上登录看了您的描述我感觉,前后冲突
    a登录了,但是a账号可以在别的电脑上登录
    也就是说,不限之a的登录次数
    而是限制,机器登录次数
    这样的话,您需要插件配合,光浏览器恐怕不行
    可以用个pfx证书什么的
      

  8.   

    +++
    我也觉得,还有啊,你再登陆页面检测到有登陆的session存在的话直接显示当前用户的简单信息,不显示登陆框,这样我感觉也还好,起码在一个浏览器中只能登一个账号了
      

  9.   

    思路:就算不同客户端也能实现单用户登录。
    1.在用户表中建立状态,包含最后登录时间,精确到毫秒。
    2.把登录的用户信息放在缓存中。
    3.Session过期时,将缓存清空。
    4.在用户登录后,在页面用ajax与服务器实时连接(时间间隔由你定,每次连接上更新的你缓存数据)
    5.服务器中:开个线程。更新你的缓存数据。如果发现这个用户有5分钟没有使用ajax更新缓存的话,你在更新数据库。并且标识该用户不在线了。这个方式的特点:
    1.达到需求目的
    2.CPU和内存都会飚升的。你的服务器一定要好。