就是,超级管理员在后台界面,可以得到已经登录的用户名称,
然后可以随时踢出已经登录的用户,
假设踢出A用户,
这样当A用户再刷新页面时,就会跳转到登录页面,
请教大家这种功能,怎么实现那??
原理怎么弄那?
就是,超级管理员在后台界面,可以得到已经登录的用户名称,
然后可以随时踢出已经登录的用户,
假设踢出A用户,
这样当A用户再刷新页面时,就会跳转到登录页面,
请教大家这种功能,怎么实现那??
原理怎么弄那?
想办法把 该用户关联的session清除掉(这种方法 要求你自己实现了session存储方案—比如数据表管理 然后多一个user_id 字段来关联session跟用户 参考: CDbHttpSession)当管理员要提出那个用户时只需要 清除掉他对应的session即可
或者用其他办法实现 思路比较多:
比如 每个用户在登陆后 置数据库表的某个字段 每次访问都检查该字段 如果与预期不符那么登出当前用户 这样后台管理员就可以置这个字段(比如 is_kicked = 0|1 )至于在那里做方法很多以致于我想不出用哪一个了(
在基控制器中做 在过滤器中做 或者监听应用程序的beginRequest而用behavior做 或者在beforeControllerAction中做 又或者用一个preload预加载组件在init方法中做
)
我个人比较倾向于隔离性强的方法:behaviorbehaviors可以在attach方法中做 或者 事件监听onBeginRequest
谢谢仁兄,
目前我正考虑用你说的CDbHttpSession+表的方式来做,
思路有了