2012-08-22 2 views
1

다음과 같은 문제가 있습니다.CakePHP 2.0 loginRedirect 문제 - https 삭제

역방향 프록시는 내부 네트워크의 서버에 보안 (https) 연결을 설정하는 데 사용됩니다. 따라서 주소는 https://<url>입니다. 로그인 페이지 (https://<url>/users/login)에 있고 "제출"을 누르면 https가 제거되고 (loginRedirect에 의해) http를 통해 URL에 연결하려고합니다. 물론 타임 아웃이 실행되고 있지만 사용자는 로그인되어 있습니다. 사용자가 페이지에 직접 액세스하는 경우 작동합니다.

사용자가 페이지에 있으면 필요한 모든 작업을 수행 할 수 있고 다른 링크는 예상대로 https로 표시됩니다.

loginRedirect가 https를 제거하지 않도록하려면 어떻게해야합니까? 한 가지 해결책은 $this->redirect($this->Auth->redirect()); 대신에 단순히 $this->redirect('<url>');을 사용하는 것입니다. 그런 다음 누군가가 로그인하지 않고 인증이 필요한 페이지의 특정 부분에 액세스하려고 시도하면 직접 링크 처리가 손실됩니다.

+0

가 관련이있을 수 : http://stackoverflow.com/q/4472648/516219 – xeranas

+0

리버스 프록시 시나리오에서 당신은 (는 config 폴더)를 bootstrap.php을 편집하고 다음과 같은 기본 URL을 추가해야 힌트를 가져 주셔서 감사합니다. 불행히도 내가 Auth-> 리다이렉트에 문제가 있고 AuthComponent에 의해 처리 되었기 때문에 관련이 없다. – user1171243

답변

1

방금 ​​CakePHP 등대 포럼에 도움을 받았으며 그 해결책을 여러분과 나누고 싶습니다. 실제로는 꽤 쉬웠습니다.

define('FULL_BASE_URL','https://your base url');