2012-07-11 117 views
5

密碼保護視圖的最佳方式是什麼?我已經在生成密碼,但我不想要用戶名和密碼登錄,只需輸入密碼。我有密碼目前存放在文件類的屬性,並使用此:Rails僅密碼登錄

before_filter :restrict, :only => :show  

authenticate_or_request_with_http_basic do |password| 
    password == @file.password 
end 

但是,它仍然會提示用戶輸入用戶名和正確的,因爲它缺少一個用戶名不能登錄。有沒有辦法使用這種方法,只有提示只需要輸入密碼?如果不是這樣做的最好方法是什麼?

+0

你可以直接嘗試沒有文件嗎?只是一個簡短的測試:http_basic_authenticate_with:password =>「foo」...相同的結果? – glenn 2012-07-11 15:51:58

+0

由於我不完全明白手動設置密碼爲「測試」時的原因,我無法訪問該視圖,除非我在用戶名和密碼中都有「測試」。 現在我正在尋找一個彈出對話框來詢問密碼,然後驗證。知道渲染彈出窗口的任何好的寶石(可能只是用Javascript做它)? – user1470511 2012-07-11 16:04:01

回答

3

authenticate_or_request_with_http_basic是使用HTTP基本驗證實現的,需要用戶名和密碼的組合:

類似。如果你想啓用僅密碼驗證,你將不得不編寫自己的驗證方法

before_filter :restrict, :only=>:show 

def restrict(password) 
    render :status=>401, :text=>"Unathorized" unless password == @file.password 
end 
-4

爲什麼不直接在新活動(onCreate)的開始處進行檢查,並在密碼爲false時返回上一個活動?要輸入

if (password.equals(password)){ 
contiue activity 
}else{ 
//return to previous tread 
finish() 
} 
+1

這是一個軌道問題 – 2012-07-11 15:42:16

+0

ohh,sh ** t,Thougt這是一個Android問題...該死的,怎麼得到一些好點.. *諷刺 - 我很抱歉.. – 2012-07-11 16:25:30