zoukankan      html  css  js  c++  java
  • yii user 组件

    yii/web/user

    enableAutoLogin:如果未登录,则会从cookie中登录
    autoRenewCookie: 如果登录了,则会使用renewIdentityCookie更新cookie的expire过期时间.确保cookie的过期时间是保持一直最后的时间.并保存到response的cookie里..如果是false,过期时间则按登录的时候开始计算,否则按最后访问的时间计算

    init

    1.组件初始化的时候,会打开session,
    2.renewAuthStatus 如果用户已经登录,会检查authTimeout.如果超时则登出,但不销毁session
    3.loginByCookie 如果enableAutoLogin而且用户是guest,则会从cookie中登录用户,如果已经登录则会更新过期时间
    loginByCookie 和login的区别
    开启自动登录的话.会执行loginByCookie触发的EVENT_BEFORE_LOGIN和EVENT_AFTER_LOGIN事件的第二个参数为true..会验证validateAuthKey
    ---------------常用函数----------------------------
    login
    logout
    checkAccess
    getId
    getIdentity
    -----------------------------------------------------------------

    登录

    1.session_regenerate_id(true); 如果设置为true,则更变当前session_id的值,并清空当前session数组..默认是false,调用的时候会更改当前session_id的值,并保留session数组中的值。
    2.设置identity
    3.设置idVar到session中
    4.设置authTimeoutVar到session
    5.使用sendIdentityCookie更新cookie中的过期时间

    登出

    1.如果authTimeout存在,则会检查session中的authTimeoutVar是否超时,如果超时则登出删除cookie,和Identity = null但是不销毁session;
    2.logout(true),则会销毁session

    检查是否登录

    getIsGuest 从session中获取idVar.如果存在则写入Identity

  • 相关阅读:
    【NOIP2007】守望者的逃离
    20200321(ABC)题解 by 马鸿儒 孙晨曦
    20200320(ABC)题解 by 王一帆
    20200319(ABC)题解 by 王一帆 梁延杰 丁智辰
    20200314(ABC)题解 by 董国梁 蒋丽君 章思航
    20200309(ABC)题解 by 梁延杰
    20200307(DEF)题解 by 孙晨曦
    20200306(ABC)题解 by 孙晨曦
    20200305(DEF)题解 by 孙晨曦
    20200303(ABC)题解 by 王锐,董国梁
  • 原文地址:https://www.cnblogs.com/zhepama/p/3550974.html
Copyright © 2011-2022 走看看