【问题标题】:Rails 5 Geolocation with ClearanceRails 5 带间隙的地理定位
【发布时间】:2017-02-16 22:02:44
【问题描述】:

我目前正在使用 Clearance 进行身份验证。作为登录过程的一部分,我想确保我有用户的位置(存储在会话中)。

我的问题是如何在清关的情况下做到这一点?理想情况下,我只想在登录时执行查找(以节省网络流量/API 调用)。如果我找不到用户,我会拒绝登录。

我正在考虑使用guard,但我似乎无法访问request.ipsession,这有点破坏交易。我还试图避免重定向到只进行地理位置然后再次重定向的 URL。

有人对如何制作这个好的模型有想法吗?谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5 clearance


    【解决方案1】:

    登录保护主要用于阻止或允许登录的进程。我认为它们不适合这里。对于这个用例,我建议覆盖sign_in,它通常混入ApplicationController

    def sign_in(user, &block)
      super
    
      if signed_in?
        UserGeocoder.call(current_user)
      end
    end
    

    【讨论】:

    • 谢谢 Derek,我会试试这条路,因为它似乎比 Guard 方法更合适。
    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    相关资源
    最近更新 更多