代码之家  ›  专栏  ›  技术社区  ›  Damien MATHIEU

同一用户的AuthLogic和多个会话

  •  7
  • Damien MATHIEU  · 技术社区  · 15 年前

    我正在使用AuthLogic管理应用程序中的会话。
    但是,默认情况下,AuthLogic允许用户从不同的计算机多次登录。
    我不想这样(用户付费获得访问权限,我想避免用户共享他们的帐户)。

    在AuthLogic文档中,我发现了 perishable_token . 但是当尝试实现它时,我得到一个错误,说 persistence_token 是必需的(当它不应该像我使用易腐的一样的时候)。

    您将如何使用AuthLogic的特性来实现这一点?

    谢谢)

    1 回复  |  直到 15 年前
        1
  •  17
  •   Damien MATHIEU    15 年前

    好吧,所以易腐的令牌绝对不是正确的路径;)

    每次用户登录或注销时,我们“只是”需要重置持久性令牌。 在我的用户会话模型中,每个用户在登录时都会从任何其他会话注销。

    class UserSession < Authlogic::Session::Base
        before_destroy :reset_persistence_token
        before_create  :reset_persistence_token
    
        def reset_persistence_token
            record.reset_persistence_token
        end 
    end