zend 框架如何在提交操作时重新加载会话。
用户可能拥有多个用户级别权限,
我在复选框中有包含用户权限的表单,
我想重新加载当前都登录到网络中的会话值。
示例:am admin,当前 x 和 y 用户登录 web 并进行一些活动,他们的权限是 admin,super admin 用户权限,
我是管理员,我想删除他们的超级管理员权限,如果所做的更改比这些权限更改应该立即更改当前访问网站的用户。
如何在zend中实现这一点。
zend 框架如何在提交操作时重新加载会话。
用户可能拥有多个用户级别权限,
我在复选框中有包含用户权限的表单,
我想重新加载当前都登录到网络中的会话值。
示例:am admin,当前 x 和 y 用户登录 web 并进行一些活动,他们的权限是 admin,super admin 用户权限,
我是管理员,我想删除他们的超级管理员权限,如果所做的更改比这些权限更改应该立即更改当前访问网站的用户。
如何在zend中实现这一点。
如果我理解正确,听起来您想更新与角色( , 等)关联的特权/权限admin
,super-admin
然后将这些更新的权限应用于具有该角色的所有用户,即使是已经登录的用户。
这实际上不是 ZF 特有的问题。它更多地与您如何构建会话处理有关,特别是,您是否将用户的角色/权限存储在会话中,是否查询 db/datastore 等。
如果您仅在会话中存储核心用户信息并查询每个请求的角色和权限(可能是选项中性能最低的),那么您的问题就解决了。角色和权限已在数据存储中更新,并将在您查询它们时反映出来。
或者,如果您还在会话中存储角色和权限,则需要遍历所有活动会话,更新受新角色影响的会话中的权限。虽然这在技术上对于基于文件的会话是可行的,但通常使用基于数据库的存储来完成会话。
如其他地方所述,Zend_Session
并且Zend_Acl
是提供所有这些功能的组件。但是核心架构的决定必须先于这些组件的实现。