В моем приложении у вас есть пользователи и книги. Пользователи могут создавать, редактировать и удалять свои собственные книги. Когда пользователь входит в систему, он должен сначала выбрать, над какой книгой он хочет работать. Этот идентификатор книги хранится в переменной сеанса, поэтому через приложение становится ясно, над какой книгой работает пользователь. Пользователи могут также делиться книгами друг с другом, и владелец (создавший книгу) имеет больше привилегий, чем другие пользователи, которых пригласили внести свой вклад в книгу.
Сначала я реализовал это довольно хаотично, и теперь я думал сделать это так:
- В начальной загрузке загружается плагин контроллера Auth.
- В плагине контроллера я проверяю, есть ли у пользователя личность
- В контроллере init () я загружаю свой помощник действия
- В помощнике действий я загружаю Zend_Acl и проверяю, есть ли у пользователя полномочия для работы с этой конкретной книгой (проверьте, существует ли связь между этим пользователем и этой книгой), а также есть ли у него полномочия для выполнения этих действий на книга (возможно, он не сможет удалить ее).
Имеет ли это смысл? И где я должен хранить идентификатор книги? В Zend_Auth :: getInstance () -> getStorage ()?
Edit:
И где мне хранить роль пользователя? Также в хранилище Zend_Auth?