详解yii用户登录体系
下面将我对yii用户登录的分析拿出来与大家共享一下,我是从Yii::app()->user,登录验证,持久化三个方面来研究
一.Yii::app()->user
这是Yii底层调用用户组件,是cwebuser的一个实例,如果没有在main.php文件里配置的话yii默认会调用cwebuser,当然也可以自己去扩展cwebuser这个类
先说一下所有组件类的基类-CComponent,ccomponent实现了定义,使用属性和事件的协议,属性石通过属性是通过getter方法或/和setter方法定义。
访问属性就像访问普通的对象变量。读取或写入属性将调用应相的 getter或setter方法
例-〉
$a=$component->text; // 相当于 $a=$component->getText();
$component->text='abc'; // 相当于 to $component->setText('abc');
getter 和 setter 方法的格式如下:
// getter, 定义读取属性 'text'
public function getText() { ... }
// setter, 定义写入属性 'text' 将 $value 的值赋给这个属性
public function setText($value) { ... }
由此可以看出,在调用CComponent对象属性的时候,可以调用$this->getUser()方法也可以直接用$this->user这个属性。
来看一下登录流程:
用户的登录页面是site/login,actionLogin中首先实例化了一个LoginForm对象,当用户登录数据提交后系统调
用LoginForm的loginin方法在此方法中调用了CUserIdentity类的一个子类(自由扩展)的authenticate方法对用户名,密码进行验证。验证通过后,调用一下CWebuser的login方法,在此方法中会调用创建session的方法,从而保证了cwebuser的持久化。
具体的概述就是:
CWebUser 代表一个Web应用程序的持久状态.
CWebUser 作为ID为user的一个应用程序组件. 因此, 在任何地方都能访问用户状态 Yii::app()->user.
CWebUser 应该和一个 identity 一起使用 identity 实现了实际的验证算法.
一个典型的使用CWebUser的身份验证过程如下:
用户提供所需的信息进行身份验证.
一个 identity instance 是用用户提供 的信息创建的.
FROM:http://blog.sina.com.cn/s/blog_81ad08410100z20m.html
相关推荐
在本篇中,我们将重点讨论Yii框架中的用户登录流程。该流程涉及到多个核心概念和技术点,包括会话管理(session)、Cookie机制以及用户身份验证等。通过了解Yii框架如何实现这些功能,可以帮助开发者更好地理解和利用...
### 详解Yii框架中的关联查询 #### 一、引言 在开发基于Yii框架的应用程序时,关联查询是一项非常重要的技术。它可以帮助开发者更高效地处理数据库中的多表关系,从而提升应用程序的性能和可维护性。本文将详细...
Yii 框架详解与开发规范 Yii 是一款高效的 PHP 框架,适用于构建大型 Web 应用,包括门户、论坛、内容管理系统(CMS)和电子商务平台等高流量项目。其基于 Model-View-Controller(MVC)设计模式,强调可重用性和...
Yii框架详解 Yii,全称为“Yet Another Inevitable Framework”,是PHP开发的一款高性能的、基于组件的Web应用开发框架。Yii的设计理念是简洁、高效和可扩展,它旨在提高开发速度并降低维护成本。本篇文章将深入...
在本篇详解中,我们将深入探讨在Yii框架中新增一个用户验证方法的过程,并且涵盖与用户登录验证、授权以及退出相关的各个方面。 首先,新增用户验证的原因通常是为了满足应用中不同模块(比如后台和前台)对用户...
9. **用户认证和授权**:Yii2的`yii\web\User`组件不仅处理登录,还可以实现用户认证和授权。例如,可以限制未登录用户访问某些页面,或者根据用户角色分配不同的权限。 10. **测试**:Yii2提供了单元测试和集成...
登录时,Yii的`Yii::app()->user`全局对象可用于检查用户状态,如登录与否、权限等。 接下来是Ajax交互,Ajax在现代Web应用中扮演着重要角色,它可以实现页面无刷新的数据更新。在Yii中,可以通过创建一个控制器...
在Yii框架的开发过程中,用户登录后session丢失是一个比较常见的问题,这通常会导致用户在登录后被立即重定向回登录页面或者无法正确加载登录后的页面内容。以下详细介绍Yii框架中用户登录后session丢失问题的解决...
"yii2 通用后台系统"是一个基于Yii2框架构建的企业级后台管理系统,旨在提供一套全面、高效的后台管理解决方案,包括用户管理、权限控制、数据统计等功能,帮助开发者快速搭建稳定且功能丰富的后台应用。 在Yii2...
- **身份验证和授权**:提供多种安全机制,如登录、权限控制、CSRF防护。 - **缓存**:支持多种缓存策略,如文件、内存、数据库和分布式缓存。 - **命令行工具**:通过`yiic`执行自动化任务,如创建模型、迁移数据库...
在使用YII2框架开发Web应用程序时,开发者经常会遇到自动登录Cookie失效的问题。Cookie失效会导致用户在关闭浏览器之后重新打开浏览器时,自动登录功能失效,用户需要重新登录。这会影响用户体验,并且可能会导致...
通过分析和学习这个例子,你可以了解到如何设计数据库模型,创建控制器、视图和模型,以及如何实现用户登录、文章发布、评论等功能。这个实例将理论与实践相结合,帮助你更好地掌握Yii框架的实战技能。 总之,"yii...
Yii框架在PHP开发中的应用详解 Yii是一款高性能的PHP框架,专为开发者构建Web应用程序而设计。"yii刷单平台.zip"中包含的项目是一个基于Yii框架构建的刷单交易任务平台源码,用于学习和交流目的。在这个平台中,...
【0507-03-yii框架整合用户登录模板】视频,会讲解如何在Yii中实现用户身份验证和授权。这通常涉及到创建用户模型、注册和登录表单、处理用户提交的数据以及使用Yii的安全组件来管理会话和密码加密。 在【0507-04-...
在Yii中,Model负责处理数据和业务逻辑,View负责展示数据,而Controller则协调Model和View,处理用户请求并生成响应。 类结构是Yii框架的核心部分。框架的每个组件都是一个类,这些类通常继承自Yii的基类,例如...