使用Devise登录用户时记录的IP地址(Rails 3.2)

时间:2012-02-09 00:51:44

标签: ruby-on-rails login devise ip

我正在使用Devise来处理我的网站身份验证。有没有办法在登录我的应用程序时添加记录用户IP地址的功能?

我们只是想看看人们从哪里登录。

由于

修改

有人指出,设计用户模型会监视登录用户的当前和最后一个。我想保留每次登录的记录。

2 个答案:

答案 0 :(得分:2)

设计用户表中自动存储用户的当前和最后一个IP地址。它使用的列名是current_sign_in_iplast_sign_in_ip。要跟踪用户的所有会话,您可以使用https://github.com/shenoudab/devise_traceable

答案 1 :(得分:2)

您可以使用User.rb内的Warden挂钩做任何您想做的事。

Warden::Manager.after_set_user do|record, warden, opts|
  logger.info("sign in at: #{record.current_sign_in_at}, #{record.current_sign_in_ip}")
  record.account_logins.create!(ipAddress: record.current_sign_in_ip)
end