1、yii2系统登录

    const EVENT_BEFORE_LOGIN = 'beforeLogin';  //登录前 

   const EVENT_AFTER_LOGIN = 'afterLogin';   //登录后

   const EVENT_BEFORE_LOGOUT = 'beforeLogout'; //退出前

   const EVENT_AFTER_LOGOUT = 'afterLogout';  //退出后

2、事件绑定

  'user' => [

     'identityClass' => 'app\models\User',

     'enableAutoLogin' => true,

     'on afterLogin'=>function($event){

      $user=$event->identity; $model=new Log_Login();

      $model->USER_ID=$user->USER_ID;

      $model->USER_AGENT=$_SERVER['HTTP_USER_AGENT'];

      $model->IP=$_SERVER['REMOTE_ADDR'];

       $model->LOGIN=date("Y-m-d H:i:s");

       $model->save();

    },

     'on beforeLogout'=>function ($event){

      //$user=$event->identity;

       $model = Log_Login::findOne((int)$_SESSION['log_id']);

       $model->LOGOUT=date("Y-m-d H:i:s");

      $model->update();

     } ]

注意:如果获取的系统时间与当前时间不符,在配置文件中设置时区'timeZone'=>'Asia/shanghai'

 

yii2 内置事件的更多相关文章

  1. 009-Spring Boot 事件监听、监听器配置与方式、spring、Spring boot内置事件

    一.概念 1.事件监听的流程 步骤一.自定义事件,一般是继承ApplicationEvent抽象类 步骤二.定义事件监听器,一般是实现ApplicationListener接口 步骤三.启动时,需要将 ...

  2. Spring 事件(1)- 内置事件

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  3. 5、JavaScript进阶篇②——函数、事件、内置对象

    一.函数 1. 什么是函数 函数的作用,可以写一次代码,然后反复地重用这个代码. 如:我们要完成多组数和的功能. var sum; sum = 3+2; alert(sum); sum=7+8 ; a ...

  4. 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】

    原文:浏览器扩展系列----给MSTHML添加内置脚本对象[包括自定义事件] 使用场合: 在程序中使用WebBrowser或相关的控件如:axWebBrowser等.打开本地的html文件时,可以在h ...

  5. JS基础--函数与BOM、DOM操作、JS中的事件以及内置对象

       前   言 絮叨絮叨 这里是JS基础知识集中讲解的第三篇,也是最后一篇,三篇JS的基础,大多是知识的罗列,并没有涉及更难得东西,干货满满!看完这一篇后,相信许多正在像我一样正处于初级阶段的同学, ...

  6. JavaScript的事件、DOM模型、事件流模型以及内置对象详解(三)

    JS中的事件 JS中的事件分类 1.鼠标事件: click/dbclick/mouseover/mouseout 2.HTML事件: onload/onunload/onsubmit/onresize ...

  7. python 全栈开发,Day51(常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍)

    昨日内容回顾 1.三种引入方式 1.行内js <div onclick = 'add(3,4)'></div> //声明一个函数 function add(a,b){ } 2. ...

  8. 委托+内置委托方法+多播委托+lambda表达式+事件

    委托概念:如果我们要把方法当做参数来传递的话,就要用到委托.简单来说委托是一个类型,这个类型可以赋值一个方法的引用. 声明委托: 在C#中使用一个类分两个阶段,首选定义这个类,告诉编译器这个类由什么字 ...

  9. 前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍

    昨日内容回顾 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 ...

随机推荐

  1. 13.小结Action

    转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 在struts2中一个普通的java类只要有public String ex ...

  2. 9 python 多态与多态类

    1.多态定义 多态指的是一类事物的多种形态 比如动物有多种形态:人,狗,猪 import abc class Animal(metaclass=abc.ABCMeta): @abc.abstractm ...

  3. caffe openpose/Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields配置(转)

    Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 是CVPR2017的一篇论文,作者称是世界上第一个基于深度学习的 ...

  4. SQL语句查询年龄分段分组查询

    此情况用于数据库中没有“年龄”这个字段,只有“出生日期”这个字段.先计算出“年龄”,在分组查询. 1.SELECT *, ROUND(DATEDIFF(CURDATE(), popBirthday)/ ...

  5. javascript获取事件源对象和产生事件的对象

    事件源对象是指event对象,其封装了与事件相关的详细信息,比如按键状态. 获取事件源对象的方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...

  6. Python——序列

    #!/usr/bin/python #coding:utf8 ''' Python——序列 字符串的操作 ''' s = 'abcdefg' print s print s[2] print s[-1 ...

  7. BIGDECIMAL 四舍五入等取舍问题

    我输入的是1.35,但是电脑不可能取到整数,他的值如下:初始化数据:1.350000000000000088817841970012523233890533447265625ROUND_DOWN); ...

  8. 参考 - spring boot 静态变量注入值

    参考http://blog.csdn.net/zhayuyao/article/details/78553417 @Component public class A { private static ...

  9. IllegalArgumentException: Could not resolve resource location pattern [classpath .xml]: class path resource cannot be resolved to URL because it does not exist

    查看编译后的classes文件后,没有mapper.xml文件,所以SQLsessionfactory不能读取成功. 在Maven中加入如下的resources配置: <dependencies ...

  10. scrollLeft滚动(用animate替代)

    原: let checkedLeft1 = $('#dateBox').find('.checked').position().left let checkedLeft2 = $('#dateBox' ...