在我的应用程序中,您拥有用户和书籍。用户可以创建,编辑和删除自己的书籍。当用户登录时,他必须首先选择他想要处理的书。该书籍ID存储在会话变量中,因此通过该应用程序可以清楚地了解用户正在处理哪本书。用户还可以与彼此共享书籍,并且所有者(创建该书籍的人)比被邀请为该书贡献的其他用户拥有更多的权限。
首先,我以非常混乱的方式实现它,现在我想这样做:
这有意义吗?我应该存储图书ID吗?在Zend_Auth :: getInstance() - > getStorage()?
修改 我在哪里存储用户的角色?还存在Zend_Auth?
答案 0 :(得分:1)
我认为你的方法是有道理的。我会将图书ID存储在Zend_Session_Namespace
中,并将用户存储在Zend_Auth
的存储空间中。如果您放入存储的用户是对象/模型,请让它实现Zend_Acl_Role_Interface,以便它包含一个返回用户角色的getRoleId()
方法。这样,您可以将用户对象直接传递给任何需要角色的ACL方法,并且可以从对象中获取角色。
如果有意义,您可以拥有一个名为activeBookId
的用户对象的属性或类似的属性,并将书籍ID存储在那里,如果它似乎适合用户对象。