로그인 하위 도메인에 세션 변수를 설정하고 로그인에 성공하면 다른 하위 도메인의 응답 json을 설정합니다. 응답 한 json은 스크립트에 의해 검사되고 스크립트는 location.href = "new url"
입니다. 리디렉션 된 사이트 "새 URL"에서 사용자가 로그인했는지 여부를 확인하려면 세션 변수를 확인하고 싶지만 세션 변수는 설정되어 있지 않습니다. location.href = ""
내 세션을 파괴합니까? 이 문제를 해결하는 방법? session.cookie_domain
은 '.mydomain.com'
으로 설정됩니다.PHP 세션에서의 JavaScript 리디렉션 문제
login.mydomain.com :
$.post('http://api.mydomain.com/index.php', {action: 'login', username: username, password: password}, function(response) {
var success = $.parseJSON(response);
if(success.success == 'true') {
location.replace = 'http://my.mydomain.com';
}
});
api.mydomain.com :
session_start();
$_SESSION['active'] = true;
header('Access-Control-Allow-Origin: http://login.mydomain.com');
echo '{"success": "true"}';
my.mydomain.com : 도움을
session_start();
if(!isset($_SESSION['active']) && !$_SESSION['active']) {
header("Location: http://login.mydomain.com");
echo $_SESSION['access_token'].' test';
}
else {
echo 'Success!';
}
감사합니다.
파이어 폭스에서 파이어 버그 및/또는 HTTPFox를 사용하여 헤더에서 앞뒤로 진행되는 것을 확인하십시오. 일반적으로 사라지는 세션은 세션 쿠키가 잘못 설정된 것이므로 새 페이지에서 완전히 새로운 빈 세션을 갖게됩니다. –