`

Yii 保存 登录用户信息

    博客分类:
  • YII
 
阅读更多

默认情况是登录后保存id和password ,在实际应用中需要保存登录用户的其他信息比如昵称、积分等信息,接下来讲一下如何实现member表中的字段在user中使用   新立商务网

 

首先用gii创建一个member类Member.php
保存位置protected/models/Member.php
然后创建:protected/components/UserIdentity.php 用于登录验证操作
class UserIdentity extends CUserIdentity
{
    public $user;
    public function authenticate()
    {
        $this->errorCode=self::ERROR_PASSWORD_INVALID;
        $user=Member::model()->findByAttributes(array('userid'=>CHtml::encode($this->username)));
        if ($user)
        {
            if ($user->passwd === md5($this->password)) {
                $this->errorCode=self::ERROR_NONE;
                $this->setUser($user);
            }
        }
 
        unset($user);
        return !$this->errorCode;
    }
    
    
    public function getUser()
    {
        return $this->user;
    }
 
    public function setUser(CActiveRecord $user)
    {
        $this->user=$user->attributes;
    }
  
}
 然后创建:protected/components/WebUser.php 继承CWebUser类
class WebUser extends CWebUser
{
    public function __get($name)
    {
        if ($this->hasState('__userInfo')) {
            $user=$this->getState('__userInfo',array());
            if (isset($user[$name])) {
                return $user[$name];
            }
        }
 
        return parent::__get($name);
    }
 
    public function login($identity, $duration=0) {
        $this->setState('__userInfo', $identity->getUser());
        parent::login($identity, $duration);
    }
}
 最后修改下配置文件main.php
 'user'=>array( //user(用户)组件配置,“user”为组件ID
            'class'=>'WebUser',//使用WebUser类
            // 可以使用基于cookie 的认证
     'allowAutoLogin'=>true,//允许自动登录
            'stateKeyPrefix'=>'zgsx', //session前缀
  ),
 接下来重新登录就可以用Yii::app()->user->字段名,用户表的所有的字段哦!
分享到:
评论

相关推荐

    Yii 的登录流程

    2. **自动登录设置**:如果配置允许自动登录(`allowAutoLogin`),则将用户的身份信息保存到Cookie中,以便后续访问时能够自动识别用户状态。如果不允许自动登录,则抛出异常提示用户修改配置项。 #### 四、总结 ...

    yii2简单注册登录

    通过编写测试用例,可以检查注册过程是否能成功保存用户,登录过程是否能正确验证用户。 以上是关于“yii2简单注册登录”项目的核心知识点。通过学习和实践这些概念,开发者可以更深入地理解Yii2框架以及如何构建...

    Yii实现用户注册登录、ajax、图片上传、modules编程基础例程(内置完整工程及使用说明)

    登录时,Yii的`Yii::app()->user`全局对象可用于检查用户状态,如登录与否、权限等。 接下来是Ajax交互,Ajax在现代Web应用中扮演着重要角色,它可以实现页面无刷新的数据更新。在Yii中,可以通过创建一个控制器...

    yii2 头像上传 完整版 带cookie保存

    这个"yii2 头像上传 完整版"插件是专门为Yii2框架设计的,旨在帮助开发者快速集成头像上传功能,同时通过cookie保存用户头像信息,提高用户体验。 首先,我们要理解Yii2框架的核心特性。Yii2提供了MVC(Model-View-...

    YII2自动登录Cookie总是失效的解决方法

    在使用YII2框架开发Web应用程序时,开发者经常会遇到自动登录Cookie失效的问题。Cookie失效会导致用户在关闭浏览器之后重新打开浏览器时,自动登录功能失效,用户需要重新登录。这会影响用户体验,并且可能会导致...

    php yii2框架 普查平台

    在"普查平台"中,可能有多个Active Record类对应不同的数据表,如用户信息、问卷详情、调查结果等。 路由和URL管理是Yii2的重要部分,它们决定了用户如何访问应用的不同部分。在这个普查平台中,可能会有如"/survey...

    yii的小部件使用

    - 可能还需要在前端菜单中添加相应的链接,以便用户能够访问这些功能。 6. **调整样式和逻辑**: - 将生成的视图文件移动到主题文件夹中,以便进行进一步的定制和样式调整。 - 根据具体需求调整生成的代码逻辑,...

    yii框架商城

    例如,商品信息可以被封装在` 商品` 类中,通过` find()` 方法获取数据库中的商品记录,通过` save()` 方法更新或保存到数据库。 其次,Yii提供了丰富的内置组件,如用户认证和授权系统(RBAC)。在“yii框架商城”...

    yii2 图片上传扩展插件

    在 Yii2 中,处理文件上传是常见的需求,尤其是图片上传,它能够为用户界面增添动态性和互动性。"yii2 图片上传扩展插件"就是为了简化这一过程而设计的。 该插件主要解决以下问题: 1. **图片预览**:允许用户在上...

    YII快速入门教程

    - **定义**: 控制器是处理用户请求的主要类。每个控制器都有一个与之对应的动作(action),这些动作响应不同的URL请求。 - **组成部分**: - **路由**: 定义URL到控制器及其动作的映射。 - **控制器实例化**: 在...

    yii2图片裁剪插件

    "yii2图片裁剪插件"就是这样的一个工具,它允许用户在前端自由选择并裁剪图片,然后将裁剪后的图片数据发送到后端进行保存。 JavaScript是一种广泛用于客户端Web开发的脚本语言,它在图片展示处理方面起着至关重要...

    yii2 console 集成swoole 执行异步任务,例如注册邮件,发送短信

    总之,通过Yii2 Console集成Swoole,我们可以充分利用Swoole的异步能力,将耗时的注册邮件发送和短信通知任务放到后台执行,提升系统的响应速度和用户体验。这个过程涉及到Yii2 Console命令的创建、Swoole服务器的...

    Yii实现多按钮保存与提交的方法

    在Yii框架中,创建带有多个提交或保存按钮的表单是常见的需求,特别是在处理复杂业务逻辑时。这种功能允许用户根据不同的操作选择执行不同的动作,例如保存草稿、预览或提交。本文将详细介绍如何在Yii中实现多按钮...

    YII 通用CURD外部Action 适合单表

    Flash消息是一种临时存储的信息,通常用于在用户完成某个操作后显示短暂的通知,例如成功保存数据或发生错误。这些消息只在当前会话中存在,并且在下一次请求时自动清除。 基于这些信息,我们可以深入探讨以下几个...

    yii1-ueditor-ext-1.1

    总的来说,Yii1-UEditor-Ext-1.1是Yii框架与UEditor结合的一个优秀实践,它简化了富文本编辑器在Yii项目中的集成工作,提高了开发效率,并提供了丰富的编辑功能,提升了用户体验。对于需要处理大量用户生成内容的Web...

    yii2 百度编辑器

    在Yii2框架中集成百度编辑器(UEditor),可以使用户在后台编辑内容时享受到类似Word的编辑体验,提高内容创作的便捷性和美观性。以下是集成过程中的关键知识点: 1. 安装扩展:首先,你需要在你的Yii2项目中安装...

    yii框架教程

    同时,应用还保存着应用级别的配置信息。因此,在 Yii 中,应用常被称为“前端控制器”。 ##### 2.1 创建与访问 应用在入口脚本中作为单例创建,并可以通过 `Yii::app()` 方法在任意位置访问。 ##### 2.2 配置 ...

Global site tag (gtag.js) - Google Analytics