2014-05-21 6 views
0

회원 전용 사이트에 isLoggedIn 스크립트를 사용하고 있습니다. 그것은 한 가지 외에도 거의 완벽하게 작동하는 것 같습니다 : 전체 로그인 패키지와 함께 제공되는 일반 청크 (lgnLoginTpl)를 사용하고 있습니다. 양식에 URL/도메인 등이 필요한 작업이 필요하지만 동적으로해야합니다. 즉, 보호 된 페이지로 들어가면 로그인으로 리디렉션되고 보호 된 페이지로 다시 로그인 한 후 다시 연결됩니다. 하나 이상의 보호 된 페이지가 있으므로 "지능형"이어야합니다. & redirectToPrior = 1도이 경우에는 작동하지 않습니다.MODX 로그인 청크 isLoggedIn

아무도 도와 줄 수 있고 필요한만큼 작동하도록 isLoggedIn 스크립트를 얻으려면 lgnLoginTpl을 올바르게 설정하는 방법을 말해 줄 수 있습니까?

답변

0

문제의 첫 번째 부분처럼 들리지만 필요한 경우 로그인 페이지로 리디렉션되는 것은 시스템 설정에서 올바른 "인증되지 않은 페이지"를 설정하여 해결됩니다. & redirectToPrior가 에 의해 "이 경우에는 작동하지 않습니다."이 필요합니다. 작동하지 않거나 이전 페이지로 리디렉션되지 않았 음을 의미합니까?

실제로 작동하지 않는다면 $ _SERVER [ 'HTTP_REFERER']`, 즉 페이지가 어떤 페이지로 리다이렉트되었는지를 알려주는 PHP 서버 변수에 의존하기 때문일 것입니다. 그러나 브라우저에 따라 항상 설정되는 것은 아닙니다. 내가 구현 한 해결 방법은 당신이 원하는 어떤이는 "수동"는 현재 URL,에 HTTP_REFERER를 설정합니다

$_SERVER['HTTP_REFERER'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

Unathorized 페이지의 상단에 작은 조각을 배치하는 것입니다 보호 된 페이지에서 승인되지 않은 URL로 리디렉션 된 후 URL이 변경되지 않기 때문입니다. 그런 다음 Login? 스 니펫의 & redirectToPrior 매개 변수를 사용할 수 있습니다.

0

답장을 보내 주셔서 감사합니다.

나는 몇 가지 시도를했는데 이제 인증되지 않은 페이지 (로그인 페이지)로 리디렉션된다는 단 하나의 문제가있는 것으로 보입니다.하지만 제대로 작동하지만 로그인 한 후에는 올바른 보호 페이지로 리디렉션되지 않습니다.

나는 다른 페이지 test1과 test2를 만들었습니다. 내가 로그인하면 항상 test1로 리디렉션됩니다.

TEST1 로그인 -> TEST1

TEST2 로그인 -> TEST1

이 & redirectToPrior = 1 & loginResourceId = 12에 의해 오버라이드 (override)되어 보인다. 나는 다음과 같은 코드로 플러그인을 호출 오전 :

[[!Login? &loginTpl=`lgnLoginTpl` &logoutTpl=`lgnLogoutTpl` &errTpl=`lgnErrTpl` &logoutResourceId=`0` &loginResourceId=`12` &redirectToPrior=`1`]] 

가 전혀 작동하지 않는 & loginResourceId = 12 (ID 12 TEST1한다)을 제거하고 내 404 페이지 (홈) 내를 리디렉션합니다. & loginResourceId = 12은 제거해야하지만 대신 무엇을 삽입해야합니까?

관련 문제