一些重要的后台会意识到追踪用户的每次登录、请求,user组件提供了`afterLogin`事件来满足该需求,配置:
~~~php
'user' => [
'identityClass' => 'app\models\User',
'enableAutoLogin' => true,
'loginUrl' => '/login.html',
'on afterLogin' => function(\yii\web\UserEvent $event){
if($event->identity->id == 顶级管理员ID){
$日志数据 = var_export([
$event->identity->id,
$event->identity->username,
$_GET,
$_POST,
$SERVER
], true);
写行为日志($日志数据); //意思意思一下,实际情况自己定
}
}
],
~~~
配置以上事件后,在每次登录后会触发一下,登录后再跳到别的页面时,根据cookie再识别出登录状态时也会触发一下,所以只要登录后每一次请求都能记下来
- 目录
- 配置
- 简介
- 别名
- gii
- 配置项
- 模型
- 简介
- 增删改查
- AR和model
- 模型事件
- 场景
- query查询
- 增删改
- AR查询器
- 模型关系定义
- AR模型连表查询
- fields
- where拼接
- 模块
- 创建模块
- 控制器
- 表单
- 跳转
- 响应
- 验证器
- Action
- 组件
- url
- 分页
- 验证码
- 缓存
- 文件上传
- 预启动组件
- 事件
- 自定义组件
- redis
- 日志
- 行为
- cookie和session
- 基础知识
- 创建一个类
- 配置一个类
- object基类
- component组件类特性
- phpstorm无法更改php等级
- url地址美化
- 过滤器
- 请求处理
- 请求组件
- 响应组件
- header
- 用户登录
- 实现IdentityInterface接口
- 登录
- 自动检测登录
- 获取用户信息
- 访问行为追踪
- phpstorm+postman断点调试