ログインサブドメインにセッション変数を設定し、ログインに成功した場合は別のサブドメインから応答jsonを設定します。応答したjsonはスクリプトでチェックされ、スクリプトはlocation.href = "new url"
になります。リダイレクトされたサイト "new 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!';
}
感謝。
FirefoxでFirebugやHTTPFoxを使用して、ヘッダーの内容を確認できます。通常、セッションが消えるのはセッションクッキーの設定が間違っているためです。新しいページでは、新しい空のセッションが発生します。 –