0

zend 框架如何在提交操作时重新加载会话。

用户可能拥有多个用户级别权限,

我在复选框中有包含用户权限的表单,
我想重新加载当前都登录到网络中的会话值。

示例:am admin,当前 x 和 y 用户登录 web 并进行一些活动,他们的权限是 admin,super admin 用户权限,

我是管理员,我想删除他们的超级管理员权限,如果所做的更改比这些权限更改应该立即更改当前访问网站的用户。

如何在zend中实现这一点。

4

1 回答 1

0

如果我理解正确,听起来您想更新与角色( , 等)关联的特权/权限adminsuper-admin然后将这些更新的权限应用于具有该角色的所有用户,即使是已经登录的用户

这实际上不是 ZF 特有的问题。它更多地与您如何构建会话处理有关,特别是,您是否将用户的角色/权限存储在会话中,是否查询 db/datastore 等。

如果您仅在会话中存储核心用户信息并查询每个请求的角色和权限(可能是选项中性能最低的),那么您的问题就解决了。角色和权限已在数据存储中更新,并将在您查询它们时反映出来。

或者,如果您还在会话中存储角色和权限,则需要遍历所有活动会话,更新受新角色影响的会话中的权限。虽然这在技术上对于基于文件的会话是可行的,但通常使用基于数据库的存储来完成会话。

如其他地方所述,Zend_Session并且Zend_Acl是提供所有这些功能的组件。但是核心架构的决定必须先于这些组件的实现。

于 2013-04-01T08:39:25.533 回答