Я пытаюсь использовать RedBean ORM (http://redbeanphp.com) для реализации UserInterface и UserProviderInterface пакета Silex Security Provider Package.Silex/Symfony2 Запомнить меня Пользовательский интерфейс аутентификации RedBean Wrapper
Из-за того, как RedBean ORM обрабатывает функции для своих объектов, мне нужно было обернуть объект bean в другой класс.
Это отлично работает для аутентификации, но не позволяет проверить функциональность Remember Me.
Я заметил, что где-то вдоль цепи пакет безопасности сериализует объект.
Я подумал, что, возможно, это послужило причиной ошибки, поэтому я создал свойства для «id» и «password» в моем классе-оболочке и использовал методы __sleep и __wakeup для игнорирования компонента во время сна и перезагрузки его при пробуждении. Несмотря на то, что все, что кажется правильно загружено во время __wakeup, тест для функции «Запомнить меня» по-прежнему не работает.
Я создал репозиторий github моего кода. Если у кого есть какие-то идеи, я буду очень благодарен!
По какой-то причине RedBean, Silex и PHPUnit не позволяют себе быть включенными в репозиторий. Простое обновление композитора должно вывести их за вас. Если у кого-то есть идеи, я бы тоже признателен за ответ.
Репозиторий GitHub можно найти по адресу:
https://github.com/christianmagill/silex-redbean-security
Соответствующие файлы
Для создания тестового пользователя в базе данных:
/setup.php
Для запуска теста:
/index.php
Моей реализация пользовательского интерфейса:
/src/App/Model/UserSecurityWrapper.php
Моей реализация UserProviderInterface:
/src/App/Model/UserProvider.php
Мой модифицированный тест:
/src/App/Test/RememberMeRedBeanServiceProviderTest.php
Оригинальный тест:
/продавец/кремнезем/кремнезем/тесты/Silex/Тесты/Provider/RememberMeServiceProviderTest.php