2009-03-08 13 views
5

Rails uygulamasında bir giriş sayfam var. Bu kişi giriş yaptıktan sonra, uygulamamın giriş yapan kişiyi izlemeyi sürdürmesinin en iyi yolu nedir? Örneğin, kullanıcı farklı sayfalara geçtiğinde, denetleyiciler/işlemler bu kullanıcı kaydını kaybeder Kullanıcının daha sonra ziyaret ettiği her sayfa arasındaki değişken. Bunu yapmanın daha iyi bir yolu var mı? sessions değişkenini kullanmalı mıyım?Raylar: Bir kullanıcının kimliğini izleme

cevap

7

Evet, oturumlar tam olarak aradığınız şeydir.

@current_user = User.find(session["user_id]") 
+0

unutmayın yapmak bazı büyük taşlar vardır 2.1+ bu rapora giriş yapabilmeniz için bu verilerin değiştirilebilir. – Tilendor

+2

Aslında cookie, size dayalı bir SHA512 parmak izine sahiptir r Uygulamanın gizli anahtarı verilerle kurcalamayacağından emin olun. Bu, çerez içeriğinin istemci tarafında kullanılabildiği anlamına gelir, bu nedenle bir sunucu tarafı deposuna geçiş yapmadığınız sürece hassas verilerin (şifreler vb.) Saklanmasından kaçınmalısınız. – Palm

4

Kesinlikle bu yönetmek için bir eklenti düşünün:

session["user_id"] = user_id 

Ve

başka bir sayfada geçerli kullanıcı (modeliniz çağrılıp çağrılmadığını Kullanıcı) getirilemedi.

restful authentication gibi birkaç tane vardır.

Bu, current_user ve logged_in? işlevlerini sağlar.

İlgili konular