分析DuxCms之AdminUserModel

 1     /**
 2      * 获取信息
 3      * @param array $where 条件
 4      * @return array 信息
 5      */
 6  public function getWhereInfo($where)
 7     {
 8         return $this->table("__ADMIN_USER__ as A")   //table方法指定操作的数据表,__ADMIN_USER__简化数据表名,后面的as表示设置admin_user别名为A
 9                     ->join('__ADMIN_GROUP__ as B ON A.group_id = B.group_id')//用于根据两个或多个表中的列之间的关系,从这些表中查询数据
10                     ->field('A.*,B.status as group_status,B.name as group_name,B.base_purview,B.menu_purview')//标识要返回或者操作的字段,可以用于查询和写入操作/
11                     ->where($where)
12                     ->find();
13     }
 1 /**
 2      * 登录用户
 3      * @param int $userId ID
 4      * @return bool 登录状态
 5      */   
 6 public function setLogin($userId)
 7     {
 8         // 更新登录信息
 9         $data = array(
10             'user_id' => $userId,
11             'last_login_time' => NOW_TIME,
12             'last_login_ip' => get_client_ip(),//调用thinkphp内置函数获取IP地址
13         );
14         $this->save($data);//将用户的登陆信息记录下来以备安全监测
15         //写入系统记录
16         api('Admin','AdminLog','addLog','登录系统');
17         //设置cookie
18         $auth = array(
19             'user_id' => $userId,
20         );
21         session('admin_user', $auth);
22         session('admin_user_sign', data_auth_sign($auth));
23         return true;
24     }

这里将用户的IP地址和登陆时间记录下来了更安全。

原文地址:https://www.cnblogs.com/disneyland/p/4264642.html