避免使用相同的用户名和密码进行多次登录

时间:2015-05-18 11:48:01

标签: ruby login

在我的应用程序中,我有一个登录页面,我需要阻止来自同一用户的多次登录(相同的用户名和密码)。我使用了不同的方法,例如具有布尔值并将其从true更新为false。但它的缺点是,无论何时用户关闭她的浏览器(没有记录),标志都不会更新。

有没有办法通过使用session_id或其他方式实现这一目标?

1 个答案:

答案 0 :(得分:0)

我将使用Devise并启用trackable,这会将last_sign_in_atlast_sign_in_ipcurrent_sign_in_atcurrent_sign_in_ip保存到数据库中。然后,只需继承Devise::SessionsController并覆盖操作create,以检查当前IP是否与last_sign_in_ip相同,而last_sign_in_at是否在半小时之前。