yii2登录笔记

墨蓝 2022-07-17 03:41 215阅读 0赞

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

  1. public function actionLogin(){
  2. $this->layout = 'login';
  3. $model = new LoginForm;
  4. $post = $model->load(Yii::$app->request->post());//验证是否有post数据
  5. // var_dump($post);
  6. // $user = $model->validate();//验证用户所输入的账号密码是否正确
  7. // var_dump($user);
  8. // $login = $model->login();//验证成功后,调用表单model的方法,model在调用数据模型的方法,添加用户成功登录的状态
  9. // var_dump($login);
  10. if($model->load(Yii::$app->request->post()) && $model->login()){
  11. $this->redirect('/document/add');
  12. }else{
  13. // echo '~';
  14. // var_dump($model->load(Yii::$app->request->post()));
  15. // var_dump($model->login());
  16. // echo '.';
  17. // var_dump(Yii::$app->user->isGuest);//判断用户是否已经登录
  18. // $userid=Yii::$app->user->getId();//获得登录用户的id
  19. //$username = Yii::$app->user->identity->username;//获得数据模型的username字段.
  20. // var_dump($userid);
  21. return $this->render('login',['model'=>$model]);
  22. }
  23. // $hash = Yii::$app->getSecurity()->generatePasswordHash('123456');//使用yii自带的哈希加密方式生成密码
  24. // var_dump($hash);
  25. // $result = Yii::$app->getSecurity()->validatePassword('123456', '$2y$13$BpU6wGouTHsOOxUkPjqwO.w8nelzJtZsYRE83l/VE0d8IPSro.qWm') ;以哈希加密用户输入的密码在和数据库的密码进行比较,返回的值是布尔型的。
  26. // var_dump($result);
  27. //$res = $model->getUser();
  28. }

发表评论

表情:
评论列表 (有 0 条评论,215人围观)

还没有评论,来说两句吧...

相关阅读

    相关 yii2登录笔记

    yii2高级模板中自带了登录注册功能,这里先记下登录功能的实现笔记 创建一张用户user表,里面需要根据user 的model文件进行更改一些字段名和添加,password

    相关 yii2学习笔记

    yii2 model 每个模型对应一张表,rules方法定义对应的字段格式,长度。attributeLabels设置对应字段名的默认显示名。 yii2 form 每个