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

yii user 组件的更多相关文章

  1. (转)Yii的组件机制之一:组件基础类CComponent分析

    Yii的组件机制 组件机制,是Yii整个体系的思想精髓,在使用Yii之前,最应该先了解其组件机制,如果不了解这个机制,那么阅读Yii源代码会非常吃力.组件机制给Yii框架赋予了无穷的灵活性和可扩展性, ...

  2. yii CComponent组件 实例说明1

    yii CComponent组件 实例说明 yii中的module,controller都是CComponent的子类,可以说yii的架构基石就是依托在CCompnent基础上的,这里研究下CComp ...

  3. yii 自定义组件的调用

    1,main.php 里面导入 'import' => array(            'application.components.*'        ), 2,application/ ...

  4. Yii 日志组件

    详细的介绍查看官网的document:http://www.yiiframework.com/doc/guide/1.1/en/topics.logging 也可以看 Yii 1.1 Applicat ...

  5. ios推送基于YII第三方组件的类库

    <?php namespace common\extensions\push; use \CComponent; /** * @desc iphone推送的接口程序 */ class ApnsP ...

  6. YII框架组件CListView实现分页

    效果是普通分页就不截图了... C控制器方法如下: $criteria=new CDbCriteria; $criteria->condition = "`status`={$newS ...

  7. yii框架

    Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供了今日Web 2.0应用开发所需要的几乎一切功能.Yii是最有效率的PHP框架之一.Yii是创始人 ...

  8. Yii系列教程(四):使用Memcache保存会话

    1环境准备 安装Memcached服务端: yum -y installmemcached.x86_64 安装PHP-Memcache扩展: yum -y installphp-pecl-memcac ...

  9. yii学习随感

    最近我们公司信易网络在用yii开发一个项目自己临时学习了一下yii 把学习感悟和大家一起分享一下 Yii Framework是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.Yii提供 ...

随机推荐

  1. android左右滑动加载分页以及动态加载数据

    android UI 往右滑动,滑动到最后一页就自动加载数据并显示 如图: package cn.anycall.ju; import java.util.ArrayList; import java ...

  2. [OFBiz]开发 二

    1.svn中check出的apache-ofbiz-10.04(svn_2010-04-01代码备分)由于它的所有文件都不含有中文,所以Eclipse使用什么编码方式都可以(ISO, GBK, UTF ...

  3. 【LR】录制测试脚本中的基本菜单

    学习来源: MBoo,小强老师性能测试及Loadrunner培训  ——录制测试脚本: 1.Vuser -> run-time settings ->General Run Logic : ...

  4. 【windows核心编程】DLL相关(2)

    关于DLL的延迟加载 延迟加载DLL,使用的是隐式加载方式,当为exe使用的DLL指定为延迟加载的时候,连接器会将exe的[导入段]中去除该DLL的相关信息,同时在exe中嵌入一个新的[延迟加载段]表 ...

  5. Objective-C异步编程

    1. 不要阻塞主线程 不管在进行iOS还是OS X开发中,主线程都只应该处理用户交互和界面布局,好的程序通常能够随时快速响应用户的操作,所以CPU密集型或者会阻塞线程的代码应该在其他位置去执行,我指的 ...

  6. 安装centos 7 体验安装过程

    1. 下载centos7的iso文件,放入虚拟机的启动光盘中 2. 选择启动,然后可以看到安装的选项 3. 进行安装之后,会自动的进行一个检查 4. 选择安装的语言 5. 进入之后,可以看到所有需要安 ...

  7. CDH版HDFS Block Balancer方法

    命令: sudo -u hdfs hdfs balancer 默认会检查每个datanode的磁盘使用情况,对磁盘使用超过整个集群10%的datanode移动block到其他datanode达到均衡作 ...

  8. 《Java数据结构与算法》笔记-CH4-1栈的实现

    class StackX{ private int maxSize; private long[] stackArray; private int top; public StackX(int siz ...

  9. 使用3D物体做GUI界面

    通常来说,Unity自带的OnGUI不太好用,靠代码完成,在场景中无法直接编辑.所以,一般项目使用NGUI插件来做界面,但我这次要修改一个游戏,它没用NGUI,也没用OnGUI,而是使用类似NGUI的 ...

  10. codeforces 624B Making a String

    Making a String time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...