0
내 앱의 '출시 예정'방문 페이지를 만들고 싶습니다. 완전한 기능을 갖춘 앱이지만 베타 버전 인 동안 테스트를 진행하는 동안 액세스를 제어하는 비밀번호가있는 방문 페이지를 원합니다. 누군가 방문 페이지에 올바른 비밀번호를 입력하면 앱에 액세스 할 수 있습니다. 참고 :이 방문 페이지 비밀번호는 사용자 계정 비밀번호와 다릅니다.레일 방문 페이지 비밀번호 인증
def landing
testpassword = 'test'
if params[:landing][:password] == testpassword
redirect_to home_path
end
끝
하지만 암호가있을 때 '올바른': 여기
는 "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입니다 즉, 'test'를 입력하면 홈 경로로 리디렉션되지 않습니다. 왜 그것이 작동하지 않는지 아는 사람?
사람들은 올바른 URL을 추측하여 인증을 건너 뛸 수 있습니다. 보다 안전한 방법은 사용자가 성공적으로 로그인하는 즉시 부울 필드를 세션에 추가하는 것입니다. 그런 다음이 필드의 존재 여부를 ApplicationController의 before_filter에 확인하십시오. 도착 페이지가 아닌 경우 방문 페이지로 리디렉션하십시오. 건배. – nTraum
'홈 경로로 리디렉션을 완료하지 않음'이란 정확히 무엇을 의미합니까? 오류/예외가 표시됩니까? 그렇지 않다면 대신 어떤 일이 발생합니까? – nTraum
이것은 홈 경로로 리다이렉트하지 않는다는 것을 의미하며, 단지 동일한 페이지에 머무르는 것입니다. before_filter에 대한 좋은 지적은 ... 나는 그것을 시도 할 것이다! – andrewcockerham