Я пытаюсь выяснить файлы 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, поскольку сайт сбора данных уже работает, и срок моих отчетов не за горами.
Любая помощь очень ценится.