難道有人請爲我解釋這裏發生了什麼?ruby on rails 3關於before_filter的問題
我覺得文檔沒有提及很多或描述發生了什麼。它只是說這樣使用這種方法。
如果用戶名和密碼爲true,會發生什麼情況,如果false等會發生什麼?
class AdminController < ApplicationController
USERNAME, PASSWORD = "humbaba", "5baa61e4"
before_filter :authenticate
private
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == USERNAME &&
Digest::SHA1.hexdigest(password) == PASSWORD
end
end
end
感謝
「彈出的瀏覽器‘中輸入您的用戶名和密碼’框」。我不太明白這一點。它會創建一個用戶在信息中鍵入的框?在哪裏以及如何?如果返回false,將顯示哪個頁面?有關詳細信息的信息如此之少:/ – 2010-07-16 17:10:38
有一個[標準協議](http://en.wikipedia.org/wiki/Basic_access_authentication)用於通過HTTP進行身份驗證。瀏覽器會在網頁上方彈出自己的用戶名和密碼框。我不確定Rails爲認證失敗頁面返回的內容,但它可能是非常通用的。你有沒有試過運行這個代碼,但看到它的行動?這是理解的最佳方式。 – Matchu 2010-07-16 17:14:08
[這裏是一個演示,告訴你登錄界面會是什麼樣的。](http://www.pagetutor.com/keeper/http_authentication/index.html)雖然你可能不應該將它用於公共Web應用程序,因爲普通用戶並不完全熟悉它。 – Matchu 2010-07-16 17:15:19