Я пытаюсь определить файлы cookie CakePHP и удовлетворить свои немного необычные требования аутентификации.
У меня есть система сбора данных на основе CakePHP, которая в настоящее время интегрируется с системой отчетности, созданной с помощью программного обеспечения COTS.Система отчетов должна контролироваться доступом, и если я не хочу дублировать все учетные записи пользователей в обеих системах, мне нужна система отчетов, чтобы узнать, аутентифицирован ли пользователь в моей системе CakePHP.
Система отчетовпозволяет мне загружать класс Java и выполнять функцию при первом поступлении клиентского запроса на отчет.Таким образом, моя идея состояла в том, чтобы
- Проверить входящий запрос отчета и извлечь cookie, используемый моим сайтом CakePHP для аутентификации / идентификации сеанса
- Отправить запрос из функции Java в 'reportauth'действие на сайте CakePHP с прикрепленным файлом cookie
- Действие reportauth в CakePHP затем проверяет, вошел ли пользователь на сайт CakePHP, и возвращает зашифрованный ответ на функцию Java, идентифицирующую роль пользователя
Я могу получить cookie-файл, отправить его в запросе и отдельно разделить зашифрованную информацию между PHP и Java.
Однако, когда я использую «свежий» cookie-файл (файл cookie, который мойбраузер неоднократно отправляет запросы на сайт CakePHP после нового входа в систему) в моем Java-запросе говорится, что пользователь не вошел в систему.Если я затем перезагрузил сайт в своем браузере, я вышел из системы.Я подозреваю, что в файле cookie может содержаться некоторая дополнительная информация о пользовательском агенте (?), Которая приводит к тому, что запрос на основе Java отбрасывается и этот сеанс уничтожается для безопасности, но я недостаточно хорошо знаю систему.Я думаю, что я вижу, как CakePHP защищает от перехвата сессии (что обычно делает меня счастливым).
Может кто-нибудь сказать мне, есть ли способ обойти эту проблему?Предпочтительно тот, который не включает в себя пользовательские компоненты аутентификации в CakePHP, поскольку сайт сбора данных уже работает, и мой срок представления отчетов не за горами.
Любая помощь очень ценится.