0

我是一个新手 php 程序员,在 codeigniter 中构建一个多用户应用程序。

现在,我的老板告诉我要研究根据更改的用户访问权限注销人员的能力。

外汇。一个人以半管理员身份登录,但刚刚被真正的管理员降级为普通用户状态。现在半管理员应该在发生这种情况时被注销,但这是我的问题发生的地方。

我可以想出几种方法来做到这一点,但它们都围绕着在大多数情况下进行多余的检查(这是一种罕见的情况,但它已经发生了,我被告知)

目前我最好的选择是在会话数据库中记录所有活动用户,并在他们的用户角色发生变化时强制他们重新登录。

然而,这将在服务器上为一个罕见的“问题”生成大量流量,因为用户会话数据更适合放入常规会话中。

因此,简而言之,我的问题是,如何在用户权限发生更改时注销用户,而又不让我的服务器工作太辛苦。

提前致谢!

4

2 回答 2

0

在页面上添加一个javascript监听器,然后当超级管理员将半管理员权限更改为普通用户时,触发注销事件。确保应用程序启用了 javascript,否则将无法运行。许多基于 ACL 的应用程序都使用此解决方案。

于 2013-02-18T15:05:25.643 回答
0

您可以检查权限是否定期更改,例如每 10 分钟一次,这应该会减少“无用”查询的数量,并仍然确保对更改的登录用户权限有可接受的响应时间。

于 2013-02-18T15:06:25.137 回答