비공개 베타 테스트를 위해 선택한 개인에게 신청서를 제출하고 싶습니다. 이 작업의 하위 도메인은 beta.company.com입니다.레일즈 3 서브 도메인
응용 프로그램은 내 워크 스테이션에서 예상대로 작동하지만 응용 프로그램을 서버로 밀어 넣으면 응용 프로그램이 인증 페이지로 계속 라우팅됩니다. 참고로 저는 선언적 승인, authlogic 및 Passenger를 사용하고 있습니다.
routes.rb :
#Application controller
match "/not_authorized", :to => "application#not_authorized", :as => :not_authorized
#UserSessions controller
match "/quit", :to => "user_sessions#destroy", :as => :quit
match "/authenticate", :to => "user_sessions#new", :as => :authenticate
resources :user_sessions, :only => :create
#Users controller
match "/enroll", :to => "users#new", :as => :enroll
# root url
root :to => "users#index"
증상 :
- 익명 경로 (예를 들어 user_sessions 번호가 not_authorized 생성) 익명에 대한 예상대로 작동합니다. HTML 권한으로 UsersController 번호 지수에 의해
처리 거부 : 나는 production.log 볼 때 사용자
- 응용 프로그램 내 워크 스테이션
예상 동작하므로 내가 좋아하는 항목이 참조 : # @role_symbols = [: guest]> (역할 [: guest], 권한 [: 색인, : 읽기, : 관리], 컨텍스트 : 사용자)에 대한 색인과 일치하는 규칙이 없습니다. 는하는 UsersController 번호 지수 액션이없는 한 경우 http://beta.company.com/authenticate
** 편집 **
에 옴과이 있다면, 익명 사용자는에 액세스 할 수없는 것입니다. 나는 왜 그것이 루트 인증 대신 성공해야하는지에 대해 혼란 스럽다.
이것은 하위 도메인 별 라우팅 문제와 비슷하지만 확실하지 않습니다.
이 '오류'를 자세히 읽습니다. UserController # index 액션이 있고 익명의 사용자는 액세스 할 수 없어야합니다. 언뜻 보면 UserSessionController # index (존재하지 않는 작업)를 읽은 것으로 생각했습니다.
이제 인증 된 사용자가 생성되거나 저장되지 않아서 UserSession # new action (AKA authenticate path)으로 다시 라우팅되는 것 같습니다.
# cookie store
# MyApp::Application.config.session_store :cookie_store, :key => '_myApp_session'
# active-record store
MyApp::Application.config.session_store :active_record_store
추가 테이블 :
**/편집 **
** 편집 II **
나는 active_record_store하는 cookie_store 변경 ($ 레이크 DB : 세션 : 생성) ($ rake db : migrate), Apache ($ touch tmp/restart.txt)를 다시 시작하고 브라우저의 캐시를 비운 다음 브라우저를 다시 시작했습니다.
세션이 세션 테이블에 성공적으로 추가되었지만 여전히 문제가 발생합니다.
**/편집 II **
생각이 크게 감사하고 있습니다.하나
우선 들어
내가 밀접하게 충분한 로그를 읽어 보지 않았 생각 결정할 수 있다면 - 게시물을 편집했다. 베타 도메인에 쿠키를 설정하려면 어떻게해야합니까? (지금하고있는 것과 달라야합니다.) 성공적인 인증은 'root_url'로 라우트됩니다. 대신에 users_path로 라우팅하는 것이 좋습니다. 맞습니까? – craig
은 session_store.rb를 MyApp :: Application.config.session_store : cookie_store, : key => '_MyApp_session', : domain => : all으로 구성했습니다. 변경 없음. – craig