www.cakephp.org 웹 사이트의 acl tutorial에 따라 보안을 구현했습니다. 어떤 코드 라인이 로그인 페이지로 로딩되지 않았 으면 사용자를 리디렉션 할 책임이 있는지 알아 내려고합니다. 테스트로서 app_controller.php의 beforefilter() 함수에서 여러 라인을 주석 처리했습니다. 이제는 다음과 같이 보입니다 :로그인 페이지로 리다이렉트하고있는 라인을 파악하려고 시도했습니다.
function beforeFilter() {
//Configure AuthComponent
$this->Auth->authorize = 'actions';
$this->Auth->actionPath = 'controllers/';
// $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
// $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
// $this->Auth->loginRedirect = array('controller' => 'alerts', 'action' => 'home');
// $this->Auth->loginRedirect = array('controller' => 'schedules', 'action' => 'index');
$this->Auth->allowedActions = array('display');
}
그러나 여전히 로그인 페이지로 리디렉션됩니다.
내 cakephp 사이트가 프록시 서버를 통해 제공되기 때문에 상대 URL 참조를 사용해야하지만 로그인 리디렉션이 절대 참조를 사용하고 있기 때문에 내가 이것에 대해 묻는 이유가 있습니다.
나는 리디렉션을 통해 "헤더를 보낼 수 없습니다. 이미 출력이 시작되었습니다"라는 오류를보고 할 수 있도록 오류를 출력하려고합니다. (실제로 케이크가 출력 버퍼를 사용하고 있는지 기억하지 못합니다. 아마도 헤더를 보낼 것인가?). – Kemo