相关疑难解决方法(0)

销毁Code Igniter中的特定会话

工作人员注意:此问题及相关答案已锁定,以防止围绕与当前问题相关的当前事件进行主题讨论.有关此活动的 问题可以在我们的meta网站上找到.谢谢!

我希望能够将用户从我在Code Igniter中构建的应用程序中注销.

我知道如何结束活动的本地会话:

$this->session->sess_destroy();
Run Code Online (Sandbox Code Playgroud)

但是,如何销毁在另一台计算机上启动的会话,从而将用户从会话中注销?

我在会话数据中存储了与其帐户关联的唯一ID,因此我可以在数据库的会话表中看到它,但它与其他会话数据一起存储在名为user_data的列中,其内容看起来像这个:

a:4:
{s:9:"user_data";s:0:"";s:6:"userid";s:6:"189034";s:9:"logged_in";b:1;s:5:"token";i:1767727789;}
Run Code Online (Sandbox Code Playgroud)

189034用户的ID 在哪里.

那么,有没有办法以某种方式根据用户的id选择会话表中的行,然后删除该行并销毁会话.或者还有另一种方法可以完全做到这一点吗?

session codeigniter destroy

43
推荐指数
2
解决办法
4万
查看次数

如何使用相同的凭据记录两次用户会话时使其无效

我正在使用带有Richfaces和Facelets的JSF 1.2.

我有一个应用程序,有许多会话范围的bean和一些应用程序bean.

用户使用Firefox登录.创建一个ID ="A"的会话; 然后他打开Chrome并使用相同的凭据再次登录.创建ID ="B"的会话.

当创建会话"B"时,我希望能够销毁会话"A".怎么做?

也.当Firefox中的用户做任何事情时,我希望能够显示一个弹出窗口或某种通知,说"你已经登出,因为你已经从其他地方登录".

我有一个sessionListener,可以跟踪创建和销毁的会话.问题是,我可以将HTTPSession对象保存在应用程序范围的bean中,并在检测到用户已登录两次时将其销毁.但有些东西告诉我这是错误的,不会奏效.

JSF是否跟踪服务器端的某些会话?如何通过标识符访问它们?如果没有,如何在用户登录两次时首次登录?

java session jsf richfaces facelets

19
推荐指数
1
解决办法
2万
查看次数

标签 统计

session ×2

codeigniter ×1

destroy ×1

facelets ×1

java ×1

jsf ×1

richfaces ×1