
正文
分析DuxCms之AdminUserModel
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
/**
* 获取信息
* @param array $where 条件
* @return array 信息
*/
public function getWhereInfo($where)
{
return $this->table("__ADMIN_USER__ as A") //table方法指定操作的数据表,__ADMIN_USER__简化数据表名,后面的as表示设置admin_user别名为A
->join('__ADMIN_GROUP__ as B ON A.group_id = B.group_id')//用于根据两个或多个表中的列之间的关系,从这些表中查询数据
->field('A.*,B.status as group_status,B.name as group_name,B.base_purview,B.menu_purview')//标识要返回或者操作的字段,可以用于查询和写入操作/
->where($where)
->find();
}
/**
* 登录用户
* @param int $userId ID
* @return bool 登录状态
*/
public function setLogin($userId)
{
// 更新登录信息
$data = array(
'user_id' => $userId,
'last_login_time' => NOW_TIME,
'last_login_ip' => get_client_ip(),//调用thinkphp内置函数获取IP地址
);
$this->save($data);//将用户的登陆信息记录下来以备安全监测
//写入系统记录
api('Admin','AdminLog','addLog','登录系统');
//设置cookie
$auth = array(
'user_id' => $userId,
);
session('admin_user', $auth);
session('admin_user_sign', data_auth_sign($auth));
return true;
}
这里将用户的IP地址和登陆时间记录下来了更安全。







