2010-10-27 46 views
0

只需通過Michael Hartl's tutorial學習Rails,我們需要做的其中一件事就是使用會話而不是cookie來實現基本身份驗證。如何在Rails中使用會話實現基本身份驗證?

我試圖發現,討論它是任何文學網上,但無法找到任何東西。

Rails指南從安全的角度談論會話,所以他們認爲你的身份驗證工作正常,而且只是對保護它有興趣。

但我想從頭開始推出自己 - 一個非常簡單的版本,沒有什麼花哨可言。

有人可以向我解釋一下基本身份驗證系統如何工作/看起來像在Rails 3中,或者向我展示一些文章和解釋如何推出自己的文章。

同樣,沒有被看中,我只是想了解他們的工作。

此外,假定用戶模型已經被創建,並且用戶數據被存儲在DB中。所以這只是一個確認是否有成功登錄的問題,並向他們展示不同的內容。

謝謝。

回答

0

我想通了,基本上在我的會話控制器我這樣做:

class SessionsController < ApplicationController 

    def create 
     user = User.authenticate(params[:session][:email], params[:session][:password]) 

     if user.nil? 
      flash.now[:error] = "Invalid email/password combination." 
      render 'new' 
     else 
      session[:user_id] = user.id 
      redirect_to user 
     end 
    end 

    def destroy 
     session[:user_id] = nil 
     redirect_to root_path 
    end 
end 
+0

這是我第一次谷歌命中會話認證之一。有一個很值得關注的railscast,供參考。 [Railscast#274](http://railscasts.com/episodes/274-remember-me-reset-password) – 2012-02-26 19:03:50

相關問題