我的页面控制器上有这个。
protected $auth = array();
function __construct(){
parent::__construct();
$this->auth['result'] = $this->is_logged_in();
}
这是我的核心/基础控制器,位于核心文件夹。
public function is_logged_in(){
$session = $this->session->userdata();
if(isset($session['logged_in'])){
return $session;
}else{ return FALSE; }
}
以上代码是否足够?或者我错过了一些合法的身份验证?(我第一次尝试尝试用户身份验证)
另外,如果例如,那也没关系。
我添加了一个专栏' isLoggedin
'在我的账户表上。
int(1),NULL.
每当我的登录功能被调用并且有人成功登录时,我也会添加一个值来插入' isLoggedin
'到1. 1=true, 2=false
。
例如在我的pages控制器中,因为每次加载时,它都会在我的基本控制器中运行is_logged_in()
函数,并从那里返回会话数据。
我会将我的基本控制器返回的会话数据与我的帐户表格中的会话数据进行比较,其中包含' isLoggedin
' col设置为1。
OR
因为$auth
数据会返回'id'
,那么我会检查'id'
上的$auth
到数据库'id'
上的任何'isLoggedin == 1'
}。如果它与' id'匹配来自$auth
。
$this->db->get_where('accounts', array('id' => $auth['id'], 'isLoggedin' => 1));