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