我在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);