Codeigniter Tank Auth以其他用户身份登录

时间:2014-04-10 10:04:57

标签: codeigniter session tankauth

我在tank_auth用户中建立了父/子关系..

我需要开发一些代码以允许父用户以他的任何子用户身份登录。当您以小孩身份登录时,注销功能也会让您回到父会话。

我正在考虑实现一些方法来改变数据库中的当前session_data,以便将用户信息从parent更改为child_user。

这是来自已登录用户的当前data_session ..     a:4:{s:9:“user_data”; s:0:“”; s:7:“user_id”; s:2:“31”; s:8:“username”; s:6:“fjrial “; S:6:” 状态 “; S:1:” 1" ;} 试图改变这个信息...只是将user_id和用户名更改为有效的东西,它似乎工作..

您如何看待这个?安全问题?有没有其他方法可以实现这个功能?

[UPDATE] 这基本上就是我作为另一个用户登录所做的事情

$back_session_user_id=$this->session->userdata('user_id');
$back_session_username=$this->session->userdata('username');


$this->session->set_userdata('user_id',$other['user_id']);
$this->session->set_userdata('username',$other['username']);
$this->session->set_userdata('user_id_bak',$back_session_user_id);
$this->session->set_userdata('username_bak',$back_session_username);

$data['user_id']    = $other['user_id'];
$data['username']   = $other['username'];

redirect('welcome',$data);

如果是登录并返回之前的会话

$back_session_user_id=$session_data=$this->session->userdata('user_id_bak');
$back_session_username=$session_data=$this->session->userdata('username_bak');
$this->session->set_userdata('user_id',$back_session_user_id);
$this->session->set_userdata('username',$back_session_username);
$this->session->unset_userdata('user_id_bak');          
$this->session->unset_userdata('username_bak');         

$data['user_id']    = $back_session_user_id;
$data['username']   = $back_session_username;
redirect('welcome',$data);

0 个答案:

没有答案