5 进行session和cookie分析 ,并在前后区分session和cookie;

记住登录状态

这样下次再登录站点的时候。就不用反复输入username和password。

是浏览器的cookie把状态给记住了。

制作表单:

                                <tr>
<td align="right">
<?php echo $form->checkBox($user_login, 'rememberMe'); ? >
</td>
<td>
<?php echo $form->labelEx($user_login, 'rememberMe'); ?>
</td>
</tr>

改动模型:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnV5aW5nZmVpODg4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

控制器部分:用户登录

    /**
*用户登录
*/
function actionLogin(){
//创建登录模型对象
$user_login = new LoginForm; if(isset($_POST['LoginForm'])){
//收集表单信息
$user_login->attributes = $_POST['LoginForm']; //校验数据,走的是rules()方法。不仅仅校验username和password是否填写。还要校验真实性(在模型里边自己定义方法校验真实性)
//用户信息进行session存储,调用模型里边的一个方法login()。就能够进行session存储
if($user_login->validate() && $user_login->login()){
$this ->redirect ('./index.php');
}
} $this -> render('login',array('user_login'=>$user_login));
}

查看cookie和session信息结果:

主要用户退出:

    /*
* 用户退出系统
*/
function actionLogout(){
//删除session信息
//Yii::app()->session->clear(); //删除内存里边sessiion变量信息
//Yii::app()->session->destroy(); //删除server的session文件 //session和cookie一并删除 不然无法退出
Yii::app()->user->logout(); $this->redirect('/');
}

此时会有一个问题。前后台session如何区分,这种:

在后台能够设置session前缀

{
public function init()
{
//自己定义后台默认控制器
$this -> defaultController = "index";
// this method is called when the module is being created
// you may place code here to customize the module or the application // import the module-level models and components
$this->setImport(array(
'houtai.models.*',
'houtai.components.*',
)); //为后台登录管理员设置session名字前缀信息
Yii::app()->setComponents(array(
'user'=>array(
'stateKeyPrefix' =>'houtai',
'loginUrl'=>'./index.php? r=houtai/manager/login',
)
));
}

图示:

stateKeyPrefix

參数如何来的?

这样:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnV5aW5nZmVpODg4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

最新文章

  1. ASP.NET MVC Routing学习笔记(一)
  2. 使用MDK3探测隐藏SSID名称
  3. Timer定时器
  4. DJANGO变动库的一次真实手动经历
  5. Fast portable non-blocking network programming with Libevent--转
  6. C#.net调用axis2webService
  7. JS escape()、encodeURI()和encodeURIComponent()的区别
  8. Objective-c开发教程--MRC和ARC混编
  9. 困扰你的private static final long serialVersionUID
  10. STM32F412应用开发笔记之八:迪文串口屏显示驱动
  11. centos6.5安装配置supervisor
  12. 全球移动互联网大会gmic 2017为什么值得参加?
  13. nyoj_5:Binary String Matching
  14. flask 部署后并发测试
  15. 数组的复制及ES6数组的扩展
  16. CAD.NET二次开发 新建图层 删除图层 指定图层颜色以及线形等
  17. MYSQL(三)
  18. IIS 部署问题 404
  19. Android动画曲线库AndroidEasingFunctions
  20. Win10, VS2017环境下OpenCV3.4.2的配置

热门文章

  1. Jstorm草草配置
  2. SVN的配置和使用
  3. php+mysql折线图
  4. 浅谈replace()
  5. centos6.5 403 Forbidden 设置了777还是不行
  6. 【wordpress】 $wpdb 应用实例
  7. 带WHERE子句的DELETE语句
  8. vc ini配置文件读写
  9. intellij idea 为JavaEE项目建立Servlet
  10. 【权值分块】bzoj3570 DZY Loves Physics I