zoukankan      html  css  js  c++  java
  • YII用户注冊和用户登录(五)之进行session和cookie分析 ,并在前后区分session和cookie

    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>

    改动模型:

    控制器部分:用户登录

        /**
         *用户登录 
         */
        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
    參数如何来的?

    这样:


  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5325859.html
Copyright © 2011-2022 走看看