2010-02-17 25 views
7

Uygulamamdaki oturumları yönetmek için Authlogic kullanıyorum.
Ancak, varsayılan olarak, authlogic kullanıcının farklı bilgisayarlardan birçok kez oturum açmasına izin verir.
Bunu istemiyorum (kullanıcı erişim almak için ödeme yapıyor ve kullanıcıların hesaplarını paylaşmasını önlemek istiyorum).Aynı kullanıcı için sözlü ve çoklu oturumlar

Authlogic belgelerine bakarak, perishable_token ile ilgili bulduk. Ama bunu uygulamaya çalışırken, sadece persistence_token'un (bozulabilir olanı kullanmamam gerektiği zaman) gerekli olduğunu söyleyen bir hata alıyorum.

Bunu, Authlogic'in özelliklerini kullanarak nasıl yaparsınız?

Teşekkür :)

cevap

16

Tamam bozulabilen belirteci kesinlikle değil doğru yol oldu;) Biz "sadece" belirteç bir kullanıcı sisteme giriş veya çıkış yapmış olduğundan her zaman kalıcılığını sıfırlamak gerekir

. giriş yaparken Bununla benim UserSession modelinde, her kullanıcı başka bir oturumdan çıkışım alır.

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 
+0

güzel işi! Bunu uzun zamandır arıyordum. Ahm, başka bir bilgisayara giriş yaptığını kullanıcıya nasıl uyarabilir veya uyarırsınız? .. – jovhenni19

+0

Dikkat edin, bunun anlamı, eğer bir kullanıcı başka bir cihazdan veya makineden bağlanırsa, oturum açılmaya zorlanacaktır. dışarı. En iyi UX değil. –