Сперва расскажу алгоритм. Делаю кроссдоменную авторизацию, и посетила мысль, что все можно сделать довольно просто, а именно: есть скрипт auth.php на домене auth.domain.ru, на который передаем для авторизации логин и пароль, тот соответственно сохраняет в куках данные и перебрасывает в закрытую зону client.domain.ru. Каждая страница при проверке авторизации выполняет следующую функцию: PHP: function GetAuthorizationData() { $result = false; $file = fopen("http://auth.domain.ru/auth.php", "r"); if (!$file) { return $result; } $line = ""; while (!feof($file)) { $line .= fgets($file, 1024); } fclose($file); return $line; } //вызывается эта функция function IsLoggedIn() { $res = false; $user_data = $this->GetAuthorizationData(); if(!$user_data) { return false; } $data = explode("|", $user_data); if(count($data) > 1) { $cook = $data[0]; $cook_ks = $data[1]; if($cook) { if ($this->GetUserCheck($cook) == $cook_ks) { $res = $cook; } } } return $res; } Из кода видно, что идет обращение на скрипт авторизации на другом домене, который собирает значения куки и передает их обратно. Таким образом, куки хранятся на одном поддомене, а проверка авторизации проходит всегда через один скрипт. Проблема в следующем: при обращении к скрипту, тот выдает пустые куки, хотя другую информацию (помимо куки) передает. Пробовал проводить авторизацию на этом же поддомене auth.domain.ru - куки все видны, на другие поддомены - не хочет. Хотя причины в этом не вижу. Прошу помочь! Если все получится, то выложу скрипт кроссдоменной авторизации. Довольно простой и удобный.
Задержки не будут существенными, если сайты находятся на одном хостинге. А авторизация тогда получается не только на поддоменах, но и другие домены можно прикручивать. Если есть идеи другого метода кроссдоменной авторизации, которая не приведет к хранению большого числа данных, то хотелось бы услышать. Сейчас вопрос стоит в другом.
http://www.php.ru/forum/viewtopic.php?t=10314 - обсуждение кроссдоменной авторизации проходило. Вот только к разумному единому решению не пришли. Идея с OpenID слишком мудренная и задержки вызывает куда долгие, чем моя идея.
Единственное предположение, что у тебя на auth.domain.ru куки вешаются именно на auth.domain.ru, а не на domain.ru. Посмотри, че у тя там с путями
Так они и будут вешаться на auth.domain.ru, а не на domain.ru. Ведь я не могу из под домена делать видным куку на главном домене. Это равносильно, что я бы на bla-bla.ucoz.ru портил бы жизнь самому ucoz.ru