yii2登录笔记

来源:互联网 发布:装修效果图软件免费 编辑:程序博客网 时间:2024/06/06 01:28

yii2高级模板中自带了登录注册功能,这里先记下登录功能的实现笔记
创建一张用户user表,里面需要根据user 的model文件进行更改一些字段名和添加,password_hash是指用yii2进行哈希加密后的密码串。auth_key使用用户注册时加的唯一标示,可以用来在浏览器记住用户登录有效期时间。

public function actionLogin(){        $this->layout = 'login';        $model = new LoginForm;        $post = $model->load(Yii::$app->request->post());//验证是否有post数据        // var_dump($post);        // $user = $model->validate();//验证用户所输入的账号密码是否正确        // var_dump($user);        // $login = $model->login();//验证成功后,调用表单model的方法,model在调用数据模型的方法,添加用户成功登录的状态        // var_dump($login);        if($model->load(Yii::$app->request->post()) && $model->login()){            $this->redirect('/document/add');        }else{            // echo '~';            // var_dump($model->load(Yii::$app->request->post()));            //  var_dump($model->login());            //  echo '.';            // var_dump(Yii::$app->user->isGuest);//判断用户是否已经登录            // $userid=Yii::$app->user->getId();//获得登录用户的id            //$username = Yii::$app->user->identity->username;//获得数据模型的username字段.            // var_dump($userid);            return $this->render('login',['model'=>$model]);        }        // $hash = Yii::$app->getSecurity()->generatePasswordHash('123456');//使用yii自带的哈希加密方式生成密码        // var_dump($hash);        // $result = Yii::$app->getSecurity()->validatePassword('123456', '$2y$13$BpU6wGouTHsOOxUkPjqwO.w8nelzJtZsYRE83l/VE0d8IPSro.qWm') ;以哈希加密用户输入的密码在和数据库的密码进行比较,返回的值是布尔型的。        // var_dump($result);        //$res = $model->getUser();    }
0 0
原创粉丝点击