我是一名新手php程序员,在codeigniter中构建一个多用户应用程序。
现在,我的老板告诉我要根据他们更改的用户访问权限来调查注销人员的能力。
Fx的。一个人以半管理员身份登录,但刚刚被真正的管理员降级为常规用户状态。现在半管理员应该在发生这种情况时被注销,但这就是我的问题发生的地方。
我可以想到几种方法来做到这一点,但它们都围绕着做大多数情况下都是多余的检查(这是一种罕见的情况,但它已经发生,我被告知)
目前最好的办法是在会话数据库中记录所有活跃用户,并强制他们在用户角色发生变化时重新登录。
然而,这会在服务器上产生大量的流量,以解决一个罕见的问题"因为用户会话数据更恰当地放入常规会话中。所以我的问题很简单,如何更改用户权限时如何注销用户,而不会过度使用我的服务器。
提前致谢!
答案 0 :(得分:0)
在页面上添加一个javascript侦听器,然后当超级管理员将半管理员权限更改为普通用户时,触发注销事件。确保该应用已启用javascript,否则无法正常工作。许多基于ACL的应用程序都使用此解决方案。
答案 1 :(得分:0)
您可以检查权限是否定期更改,例如每10分钟一次,这应该减少“无用”查询的数量,并且仍然确保对已更改的登录用户权限有可接受的响应时间。