重点
主要的控制这个时间的是这个函数
phpcms\libs\functions\global.func.php
sys_auth()函数
/**
* 字符串加密、解密函数
*
*
* @param string $txt 字符串
* @param string $operation ENCODE为加密,DECODE为解密,可选参数,默认为ENCODE,
* @param string $key 密钥:数字、字母、下划线
* @param string $expiry 过期时间
* @return string
*/
function sys_auth($string, $operation = 'ENCODE', $key = '', $expiry = 0) {}
1、如果要给他一个有效期限的话
每次登录的时候加入时间
$cookietime = SYS_TIME + 7200; //系统时间+两个小时
$phpcms_auth = sys_auth($memberinfo['userid']."\t".$memberinfo['password'], 'ENCODE', get_auth_key('login'),7200);
param::set_cookie('auth', $phpcms_auth, $cookietime);
param::set_cookie('_userid', $memberinfo['userid'], $cookietime);
param::set_cookie('_username', $memberinfo['username'], $cookietime);
param::set_cookie('_nickname', $memberinfo['nickname'], $cookietime);
param::set_cookie('_groupid', $memberinfo['groupid'], $cookietime);
param::set_cookie('cookietime', $_cookietime, $cookietime);
2、如果需要一直登录的话
修改次文件夹的文件
phpcms\modules\member\classes\foreground.class.php
第31行
list($userid, $password) = explode("\t", sys_auth($phpcms_auth, 'DECODE', $auth_key)); //最重要的一句话
//++可替换成
$_userid = param::get_cookie('_userid');
$userid = intval($_userid);
//验证用户,获取用户信息
$this->memberinfo = $this->db->get_one(array('userid'=>$userid));
//++可替换成
$password = $this->memberinfo['password'];