나는 cakephp 문서의 인증 자습서를 읽고 작동하는 로그인 시스템을 만들었다.CakePHP Auth.redirect가 쓰여지지 않고있다.
로그인을 완료 한 후 처음 로그인했을 때 액세스하려고했던 작업으로 사용자가 리디렉션되도록해야합니다.
내가 방문한 페이지가 Auth 구성 요소의 시작 기능에 의해 세션 내에서 Auth.redirect에 기록되어야한다고 생각하지만 작동하지 않는 것 같습니다. 내 사용자 컨트롤러에서
내가 추가 한으로, beforeFilter에 다음
$this->Auth->allow('add', 'login');
을 따라서 내가 로그인 행동에 자동으로 리디렉션있어 편집 작업에 액세스하려고 할 때.
debug($this->Session->read());
debug($this->referer());
이 세션 정보를 출력하고,이 세션에서이 둘 [인증 기능 때문에 Auth.redirect의 언급이 없거나 자신이 할 수없는 : login 액션에서
는, 나는 포함했다 이를 사용하여 사용자를 리디렉션 할 수 있습니다.나는 $ this-> referer를 사용했지만 어떤 이유로 인증 기능에 의해 자동으로 리디렉션 될 때 referer가 추적되지 않습니다.
누구나 auth.redirect가 작성되지 않을 수 있고 auth 기능으로 리디렉션 될 때 $ this-> referer가 채워지지 않는 이유를 알고 있습니까?
나는 반드시 WAMP를 사용하는 Windows 컴퓨터에 있습니다. 그러나 내 추가 작업은 성공 및 디버그 ($ this-> referer()) 후 로그인을 리디렉션합니다; 이 경우 헤더가 잘 작동해야하므로 리디렉션 URL을 선택합니다.
또한 참고 :
나는 데이터베이스에 저장된 세션을 통해보고 CakePHP에서의 문제를 확인했습니다.
auth.redirect가 세션에 저장되어있는 것처럼 보입니다. 그러나 사용자가 이전 데이터를 지우도록 리디렉션 될 때 어떤 이유로 새로운 세션이 생성됩니다.
어쨌든 사용자를 위해 새로운 세션 ID를 만드는 CakePHP를 중지 할 수 있습니까?
loginRedirect가 null로 설정되어 있습니까? (기본값으로 수정해야합니다.) 로그인 작업으로 리디렉션 된 후'env ('HTTP_REFERER')'의 결과는 무엇입니까? – tigrang
@tigrang 시도했습니다. 기록되는 Auth.redirect에 아무런 영향을 미치지 않고 loginRedirect를 설정 및 해제합니다. env ('HTTP_REFERER')가 비어 있습니다. – Alex
'$ _SERVER'와'$ _ENV'는 비어 있습니까? php.ini 또는'phpinfo()','variables_order'의 값은 무엇입니까? – tigrang