jby*_*yrd 1 php authentication controller codeigniter ion-auth
我是CodeIgniter的新手,我正在使用Ion Auth进行用户授权.使用Ion Auth库,您将获得如下用户对象:
$user = $this->ion_auth->get_user();
echo $user->email;
Run Code Online (Sandbox Code Playgroud)
如果用户已登录,我希望$ user对象在任何页面上(在任何控制器中)都可用.我怎样才能做到这一点?(我正在使用CodeIgniter 2)
我的博文详细介绍了使用Ion_Auth,让您的整个应用程序(包括视图)访问您当前用户的信息.
简短版本......(特别针对手头的话题)
将其添加到您的MY_Controller.php文件中
class User_Controller extends CI_Controller {
protected $the_user;
public function __construct() {
parent::__construct();
if($this->ion_auth->logged_in()) {
$data->the_user = $this->ion_auth->get_user();
$this->the_user = $data->the_user;
$this->load->vars($data);
}
else {
redirect('/');
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的应用程序中创建您的控制器就像这样
class App_Controller extends User_Controller {
public function __construct() {
parent::__construct();
}
function index() {
//do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
然后不仅在您的控制器中您将有权访问,$this->the_user但您也将$the_user加载到每个视图中$this->load->vars()