2012-07-11 43 views
5

Cách tốt nhất để bảo vệ mật khẩu xem là gì? Tôi đã tạo mật khẩu nhưng tôi không muốn đăng nhập tên người dùng và mật khẩu, chỉ cần mật khẩu. Tôi có mật khẩu được lưu trữ hiện nay như một thuộc tính trong lớp File, và đã sử dụng này:Rails Mật khẩu chỉ đăng nhập

before_filter :restrict, :only => :show  

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

Tuy nhiên, nó vẫn sẽ nhắc người dùng nhập tên người dùng và không đăng nhập một cách chính xác bởi vì nó thiếu một tên người dùng . Có cách nào để sử dụng phương pháp này và chỉ có lời nhắc yêu cầu mật khẩu? Nếu không phải là cách tốt nhất để làm gì?

+0

bạn có thể thử trực tiếp mà không cần tệp không? chỉ cho một thử nghiệm ngắn: http_basic_authenticate_with: password => "foo" ... cùng một kết quả? – glenn

+0

vì lý do tôi không hoàn toàn hiểu khi đặt mật khẩu theo cách thủ công thành "kiểm tra" Tôi không thể truy cập chế độ xem trừ khi tôi có "kiểm tra" trong cả tên người dùng và mật khẩu. Ngay bây giờ, tôi đang tìm kiếm một hộp thoại bật lên để yêu cầu mật khẩu và sau đó xác minh. Biết bất kỳ đá quý tốt mà làm cho cửa sổ bật lên (có thể chỉ được làm nó trong Javascript mặc dù)? – user1470511

Trả lời

3

authenticate_or_request_with_http_basic được triển khai sử dụng HTTP Basic Auth mà đòi hỏi sự kết hợp của tên người dùng và mật khẩu để được nhập vào. Nếu bạn muốn bật xác thực chỉ mật khẩu, bạn sẽ phải viết phương thức xác thực của riêng mình

before_filter :restrict, :only=>:show 

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

Tại sao không chỉ thực hiện kiểm tra ở đầu hoạt động mới (onCreate) và quay lại hoạt động trước nếu mật khẩu là sai?

cái gì đó như:

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

Đây là một câu hỏi đường ray –

+0

ohh, sh ** t, Thougt nó là một câu hỏi Android ... damn, những gì một cách để có được một số điểm tốt .. * mỉa mai -Tôi xin lỗi .. –

Các vấn đề liên quan