0
我想爲我的應用程序創建一個'Coming Soon'登錄頁面。這是一個功能齊全的應用程序,但是當我們處於測試階段時,我想在登錄頁面輸入密碼來控制訪問,而我們仍在測試。一旦有人在着陸頁上輸入正確的密碼,他們就可以訪問該應用程序。注意:此着陸頁密碼與用戶帳戶密碼不同。Rails登陸頁面密碼驗證
這是我在 「landing_password.html.erb」 觀點:
<%= simple_form_for :landing, html: { class: 'form-horizontal'} do |f| %>
<%= f.input :text %>
<%= f.button :submit, "Sign In" %>
<% end %>
這裏是我的pages_controller:
def landing
testpassword = 'test'
if params[:landing][:password] == testpassword
redirect_to home_path
end
末
但是,當密碼是 '正確的' ,這意味着當我輸入'test'時,它不會完成重定向到主路徑。任何人都知道爲什麼它不起作用?
請記住,人們可以通過猜測正確的url跳過您的身份驗證。一旦用戶登錄成功,更安全的方法就是向會話添加布爾字段。然後在你的ApplicationController的'before_filter'中檢查是否存在這個字段。如果它是零,則重定向到您的着陸頁。乾杯。 – nTraum
'不完成重定向到主路徑'究竟意味着什麼?你是否顯示錯誤/異常?如果不是,會發生什麼呢? – nTraum
這意味着它不會重定向到主路徑,它只會停留在同一頁面上。關於before_filter好點...我會嘗試! – andrewcockerham