2010-01-16 4 views
0

내 페이지에 Auth 구성 요소를 사용하고 있으며 사용자에게 권한이없는 Ajax 작업이 호출되면 로그인 오버레이를 표시하려고합니다.CakePHP에서 Ajax Auth 오류를 처리하는 방법

예 :

사용자는 사용자가, 그가 처음 오버레이를 등록/로그인을 얻을 것이다 값을 변경하고자 다음 경우, jeditable 필드를 편집하고자합니다.

내 현재 방법은 $ _SESSION [ 'Auth'] [ 'User']에 대한 작업을 확인하는 것이지만 매우 더러운 것처럼 보입니다. 깨끗한 방법으로 작업하고 싶습니다.

현재 내 코드는 다음과 같습니다

경우 좀 더의 입력을 사랑

{

$this->layout = 'ajax'; 
$this->render('loginpopup');  
return; 

} ($ _ SESSION [ '인증'] [ '사용자']!) 숙련 된 사용자, Jquery를 자바 스크립트 라이브러리로 사용하고 있습니다. 미리 감사드립니다!

답변

1

저는 케이크를 모르지만 모범 사례의 관점에서 볼 때 응용 프로그램은 세션에 액세스하기위한 보편적 인 도우미 메서드가 있어야합니다. 레일 표준은 current_user (누군가 로그인하면 사용자 객체를 반환하고 그렇지 않은 경우는 nil)입니다. 그런 다음 javascript를 감싸서 해당 메소드를 호출하는 PHP 조건부에서 로그인 팝업을 시작해야합니다.

+0

네, CakePHP는 $ this-> Auth (user)를 가지고 있습니다. (감사합니다. :)) 그래서 이것을 읽은 다음 JavaScript를 래핑하는 것이 가장 깨끗한 방법이라고 생각하십니까? Auth를 사용하여 작업에 대한 액세스를 거부하면 좋은 403 오류가 다시 나타납니다.이 문제를 기반으로 할 수 있다고 생각합니까? 나에게 대답 할 시간을내어 주셔서 감사합니다! – JanWillem

관련 문제