У меня есть сайт, размещенный на Apache, который содержит некоторый защищенный контент.Я хочу предоставить доступ к этому защищенному контенту пользователям, прошедшим проверку подлинности в другом приложении.Содержимое защищено с помощью htaccess и htpasswd.
Я хотел бы использовать curl для установки имени пользователя и пароля, а затем перенаправить пользователя в защищенную папку.Я могу легко это сделать, если защищенный контент представляет собой один файл, но мое решение работает только для одной страницы.Как только пользователь щелкает ссылку и пытается получить доступ к другой странице, сеанс теряется.В каталоге сотни страниц.
Вот код, который я использую:
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL,'http://domain.com/protected_folder/');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_exec($ch);
curl_close($ch);
У меня две проблемы с результатами:
- Aполное перенаправление не выполняется, поэтому любые ссылки, по которым щелкают, ссылаются на папку, в которой находится php-файл, а не на защищенную папку.В адресной строке по-прежнему отображается путь к сценарию php.
- Похоже, что сеанс сразу же теряется.Любая попытка доступа к ресурсам в защищенной папке вызывается с помощью поля для входа в систему.
Любые идеи о том, как решить любую из этих двух проблем, будут высоко оценены.