【发布时间】:2017-01-23 01:48:18
【问题描述】:
我的 MY_Controller 上有这个,它位于我的核心文件夹中。
<?php
class MY_Controller extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function is_logged_in($data){
$session = $this->session->userdata();
if($session['isloggedin']['username'] == ''){
return isset($session);
}else{
return FALSE;}
}
}
?>
我很确定我从一些教程中复制粘贴了上面的代码,但我还没有根据我的需要对其进行编辑。
我有任何问题。
所以我有一个页面控制器,负责根据登录用户的 account_type 授予对某些视图的访问权限。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class pages extends MY_Controller {
}?>
当用户登录时,这是我的会话。
$new_session = array( 'username' => $this->input->post('username'),
'email' => $this->input->post('email'),
'type' => $this->input->post('type'),
'logged_in' => TRUE);
$this->session->set_userdata($new_session);
我如何从页面控制器调用 MY_controller 函数 is_logged_in() 或者“扩展 MY_Controller”是否自动也调用函数 is_logged_in() 或者我必须基本上只是将它放在 __construct 中以便它自动调用函数?
另外,我如何检查用户是否已登录并查看他们的详细信息?
我是否将 session_data 从我的控制器传递到 MY_Controller?如果有,怎么做?
或者我应该在is_logged_in() 函数中添加一个$this->session->userdata(); 行吗?
附:我曾尝试使用身份验证库,但它们包含的东西太多了,我只需要一个基本的身份验证。有什么建议么?现在仍在维护。
【问题讨论】:
标签: php codeigniter authentication