2017-11-1
Yii框架前台用户注册、用户登录系统实现
校验用户名和密码
使用组件UserIdentity对用户名和密码进行校验
用户名存储到session里边,通过用户验证组件CwebUser ( login();
【用户注册用户名密码md5加密】
【记住用户(2周不用重复登录)】
红色的"*"星号是css控制的
记住登录状态
实现:
制作表单
实现model模型
Cookie的名字和值,在框架里边已经设置好了,无需关心。
为什么不能退出系统
答:退出系统的时候只是删除session信息,页面重定向回首页,由于我们登录系统的时候已经让cookie记住了登录系统,每次访问网站的时候都会读取cookie信息,再session持久化。有点死循环过程。
制作表单
设计模型(rules() login() attributeLabels())
【用户登录系统验证码设置】
Gd2画图工具
验证编码信息:随机数
验证码具体验证原理:
画图的同时就把验证编码进行session存储,用户输入的验证码信息与我们session里边存放的信息做比较。
实现:
制作表单
如何使用该核心类:
在控制器里边使用。
表单部分与控制器部分的
$this->widget('CCaptcha'); 会间接调用控制器的方法 路由user/captcha
在登录模型里边对验证码进行校验:
'captcha'会简介找到CcaptchaAction进行验证码的比较。
验证码使用步骤:
在控制器设置actions方法
在表单里边通过widget显示验证码
在模型里边通过captcha校验验证码
<?php $this -> widget('CCaptcha'); ?> 会简介访问路由 user/captcha (CcaptchaAction)
array('verifyCode','captcha','message'=>'请输入正确的验证码'), 简介通过CcaptchaAction进行校验。
【后台用户登录系统】
复习前台用户登录系统
区分前台、后台用户信息(session区分)
为添加的数据表创建模型model
现在出现一个问题:前台登录用户信息与后台用户登录系统有混淆。
为后台管理员登陆系统设置session前缀信息 houtaiModule.php
【Yii框架中session的使用】
设置、使用、删除
【cookie在Yii框架中的使用】
【路径别名】
在Yii框架里边有许多地方使用路径别名:
System application zii 等等
总结:
用户登录系统
记住登录状态(rememberMe)
验证码 (控制器、视图、验证模型)
后台管理员登录系统(为用户登录session信息设置前缀 houtaimodule.php设置)
会话控制session cookie的使用
,