header() 리디렉션의 대상에서 리디렉션을 시작한 페이지를 결정할 수있는 방법을 찾아야합니다. 우리는 mod_auth_cas 해킹을 사용하여 로그인을 확인합니다. 우리는 mod_auth_cas 뒤에 전체 사이트를 가질 수 없기 때문에 .htaccess에 AuthType Cas가있는 하위 디렉토리가 있습니다. 로그인에 대해/cas 디렉토리에 대한 링크를 제공하고, cas가 처리되며, 반환 된 사용자 ID가 $ _SESSION에 추가되고 권한 데이터베이스와 비교되면 페이지가 헤더가 홈페이지로 리디렉션됩니다.헤더 리디렉션의 출처를 확인하는 방법
이 댄스는 단지 홈페이지로 돌아갈 때 잘 작동하지만, $ _SESSION에 사용자 ID가 없을 때 로그인을 요구하는 페이지를 cas로 리디렉션하려고합니다. 사용자가 로그인하고 사용자 ID를 다시 얻으면 홈페이지가 아닌 페이지를 보낸 페이지로 리디렉션됩니다. 헤더 리디렉션의 원래 페이지를 되돌아 볼 수있는이 기능은 사이트의 다른 부분에서도 유용 할 것입니다.
/cas/index.php는 리디렉션이 발생한 페이지를 어떻게 결정할 수 있습니까? 사용자가 여러 페이지를 열었을 때 충돌을 피하려면 어떻게 하나의 캐스로 리다이렉트되고, 캐스케이드로 리다이렉트되는 두 번째 페이지로 이동하고, 캐스케이드가 첫 번째 페이지로 돌아가서 완료합니다 다시 첫 번째 페이지가 아닌 두 번째 페이지로 리디렉션됩니까? 그리고이 솔루션은 순수 PHP, 자바 스크립트 추적이 아니어야합니다.
원래 URL을 세션에 저장하지 않는 이유는 무엇입니까? – edmz