Php Codeigniter中具有不同会话超时的多登录系统
我在codeigniter的一个项目上工作,它有3个不同的登录系统,例如管理员、副管理员、客户端。我必须为不同类型的用户设置不同的会话超时,比如管理员会话超时5分钟,副管理员会话超时15分钟,客户端会话超时30分钟。Php Codeigniter中具有不同会话超时的多登录系统,php,codeigniter,session,Php,Codeigniter,Session,我在codeigniter的一个项目上工作,它有3个不同的登录系统,例如管理员、副管理员、客户端。我必须为不同类型的用户设置不同的会话超时,比如管理员会话超时5分钟,副管理员会话超时15分钟,客户端会话超时30分钟。 有什么建议可以让它发生吗。。提前感谢。此代码将完成此工作 if($user['is_admin']) { $this->session->sess_expiration = '300'; //5 Minutes } else if($user['is_sub_a
有什么建议可以让它发生吗。。提前感谢。此代码将完成此工作
if($user['is_admin']) {
$this->session->sess_expiration = '300'; //5 Minutes
} else if($user['is_sub_admin']) {
$this->session ->sess_expiration = '900'; //30 Minutes
} else {
$this->session->sess_expiration = '1800'; //30 Minutes
}
只需更改在条件中获取角色的方式此代码即可完成此任务
if($user['is_admin']) {
$this->session->sess_expiration = '300'; //5 Minutes
} else if($user['is_sub_admin']) {
$this->session ->sess_expiration = '900'; //30 Minutes
} else {
$this->session->sess_expiration = '1800'; //30 Minutes
}
只需更改在条件中获取角色的方式从db获取用户类型,然后您就可以尝试此操作
if ($userType == 'admin')
{
//set session for 5 minutes
$this->session->sess_expiration = '300'; // 5 Minutes
$this->session->sess_expire_on_close = 'true';
}
else if($userType == 'sub_admin'){
//set session for 15 minutes
$this->session->sess_expiration = '900'; // 15 Minutes
$this->session->sess_expire_on_close = 'true';
}
else
{
//set session for 30 minutes
$this->session->sess_expiration = '1800'; //30 Minutes
$this->session->sess_expire_on_close = 'true';
}
$data = array(
'user_id' => $userdata->user_id,
'first_name' => $userdata->user_firstname,
);
//set session and go to Dashboard or Admin Page
$this->session->set_userdata($data);
从db中获取用户类型,然后可以尝试此操作
if ($userType == 'admin')
{
//set session for 5 minutes
$this->session->sess_expiration = '300'; // 5 Minutes
$this->session->sess_expire_on_close = 'true';
}
else if($userType == 'sub_admin'){
//set session for 15 minutes
$this->session->sess_expiration = '900'; // 15 Minutes
$this->session->sess_expire_on_close = 'true';
}
else
{
//set session for 30 minutes
$this->session->sess_expiration = '1800'; //30 Minutes
$this->session->sess_expire_on_close = 'true';
}
$data = array(
'user_id' => $userdata->user_id,
'first_name' => $userdata->user_firstname,
);
//set session and go to Dashboard or Admin Page
$this->session->set_userdata($data);
有一个问题:会话将在登录时间或上次活动结束后过期谢谢。。这是一个很大的帮助。。。总是搞不清楚它是哪一个应用程序编码的:)有一个问题:会话将在登录时间或上次活动结束后过期谢谢。。这是一个很大的帮助。。。总是搞不清楚它是哪一个应用程序编码的:)