Я установил схему Zend_Acl и Zend_Auth, в которой пользователь аутентифицируется с помощью Zend_Auth_Adapter_Ldap и сохраняется в сеансе. Я использую подключаемый модуль контроллера, чтобы проверить, отображают ли $auth->hasIdentity()
и $acl->isAllowed()
форму входа в систему, если это необходимо.
Я хочу добавить файлы cookie для входа (моя реализация лучших практик) и ключи API в дополнение к проверка сеанса в Zend_Auth. Мне также нужно переключить роль на «владелец» контента, созданного пользователем.
Мои опасения:
- Файл cookie для входа в систему следует использовать только в качестве запасного варианта, если обычная аутентификация сеанса завершается неудачно, и, таким образом, сеанс должен быть аутентифицирован.
- Ключи API следует использовать в качестве запасного варианта, если не удается как файл cookie входа, так и файл cookie сеанса.
- Я не хочу нигде хранить пароль, он должен находиться только в LDAP
- Мне нужно постоянное хранение идентификационной информации, так как ее поиск в LDAP невозможен без полного имени пользователя и пароля.
- Роль зависит как от членства в группе LDAP (которая должна постоянно храниться), так и от того, следует ли считать личность владельцем контента (что означает, что она меняется между запросами, если только не администратор).
Какой хороший шаблон / подход для решения этой проблемы с использованием Zend Framework MVC и Zend_Auth + Zend_Acl?