Rails Rails 项目如何保证同一个用户同时只能在同一个地点登录?

chucai · 2012年07月12日 · 最后由 reducm 回复于 2012年07月12日 · 3307 次阅读

RT 有现成的 Gem 么?

为什么要限制同一个用户只能在同一个地点登陆呢?我觉得问题缺乏必要的背景信息描述。如果非要限制用户登陆的地点,可以验证用户的请求 ip 地址。但是这个做法并不能真正意义上杜绝用户多个地点登陆。

#1 楼 @lgn21st 恩,这是我们项目的一个需求。如果一个用户从多部手机登录,那么,可能造成很多逻辑上的错误。

匿名 #3 2012年07月12日

服务器记录 session,一个用户保证只有一个 session 好了

#3 楼 @yggg 什么时候判断用户退出了呢?

session 里保存一个 salt, salt 的一部分由用户的最后执行登录这个动作时间组成。不过这样玩的后果就是两地交替上线,交替掉线

-编辑掉 -

匿名 #7 2012年07月12日

#4 楼 @chucai 你如果规定只能一个客户端登录 那必须一个 logout 后才能在另一端 login 的

#3 楼 @yggg 判断 logout 以前在 java 的做法是用 session 超时的 listener,ruby 的方式应该也类似,想要更实时的话可以考虑用 websocket

需要 登录 后方可回复, 如果你还没有账号请 注册新账号