2010-04-01 4 views
0

문제가 있습니다. 난 KohanaPHP 프레임 워크와 응용 프로그램을 builing이고 rediretion 끝없는 루프 있어요.KohanaPHP 리디렉션 루프

여기 내 메인 컨트롤러 오 생성자에 넣어 코드는 다음과 같습니다

if(empty($this->user->real_name)) { 
    url::redirect('/'); 
    } 

모든 아이디어를 어떻게 문제를 해결하기 위해?

+0

우리가 필요로하는 당신이 (주 코드가 테스트되지 않음) 홈 페이지에서 이미하지 않은 경우에만 홈 페이지로 리디렉션되도록이

$current_url = $_SERVER['REQUEST_URI']; if ($current_url != '' || $current_url != '/') { if(empty($this->user->real_name)) { url::redirect('/'); } } 

그런 짓을 할 더 많은 코드와 설명, 당신은 단지 ($ _ POST) if ($ _ POST) – antpaw

+0

체크 안녕하세요, 여기에 문제가되지 않습니다, 나는 사용자가 로그인되어 있는지 확인하고 모든 프로필이 채워진 경우 – sorrko

+0

우리는 여전히 더 많은 코드가 필요합니다. 더 이상 컨텍스트가 없으면 코드에서 어떻게 도달하는지 알 수 없습니다. 메인 페이지에서 로직이 틀렸고 매번이 옵션이 작동하면 리다이렉트 루프에 빠질 것입니다. –

답변

0

이 문제를 해결하는 한 가지 방법은 로그인을 확인하는 경우 인증 된 사용자가 필요한 모든 컨트롤러에서 사용할 사용자 지정 기본 클래스를 만드는 것입니다. 이 기본 클래스는 인증되지 않은 경우 사용자를 인증 컨트롤러로 리디렉션합니다. 인증 컨트롤러는 기본 클래스에서 이 아니기 때문에은 끝없이 리디렉션 루프를 방지합니다.

나는 CodeIgniter에서 인증을 구현하기 위해이 스키마를 사용했으며, CI가 Kohana와 다르지만 충분히 가까워서 잘 작동합니다.

+0

답장을 보내 주셔서 감사합니다. 모든 컨트롤러가 확장되는 메인 컨트롤러가 있습니다. 주요 문제는 ... 주 컨트롤러의 생성자에서 리디렉션을위한 로컬 URL을 제공 할 수 없다는 것입니다. 기묘한. 내가 뭔가 잘못하고 있는거야? – sorrko