|
本帖最后由 wssx 于 2011-4-22 17:37 编辑
項目登陸后會保存資料到session中,現在config中的$config['sess_expiration'] = 60;已經這樣設置了,也就是1分鐘后session就會過期,但是過了10分鐘,發現session還在,還是可以進行登陸后才能進行的操作。PHP复制代码 <?php
// system/application/models/admin_current_user.php
class Admin_current_user {
private static $admin_user;
private function __construct () {}
public static function admin_user () {
if(!isset(self::$admin_user)) {
$CI =& get_instance ();
$CI->load->library('phpsession');
if (!$admin_user_id = $CI->phpsession->get('admin_user_id','adminlogin')) {
return FALSE;
}
if (!$u = Doctrine ::getTable('admin')->find($admin_user_id)) {
return FALSE;
}
self::$admin_user = $u;//user对象保存到静态变量$user
}
return self::$admin_user;
}
public static function login ($username, $password) {
// 得到 User object 从 username
if ($u = Doctrine ::getTable('admin')->findOneByUsername($username)) {
// 这个变异 (加密) 输入的password
$u_input = new Admin ();
$u_input->password = $password;
// password匹配(加密过的密码)
if ($u->password == $u_input->password) {
unset($u_input);
$CI =& get_instance ();
$CI->load->library('phpsession');
$CI->phpsession->save('admin_user_id',$u->id,'adminlogin');
self::$admin_user = $u;
return TRUE;
}
unset($u_input);
}
// 登录失败
return FALSE;
}
public function __clone () {
trigger_error('Clone is not allowed.', E_USER_ERROR);
}
}
复制代码 這裡的代碼是判斷是否登陸用的 |
|