关闭

yii2登录笔记

标签: yii
126人阅读 评论(0) 收藏 举报
分类:

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:86334次
    • 积分:2079
    • 等级:
    • 排名:千里之外
    • 原创:111篇
    • 转载:23篇
    • 译文:13篇
    • 评论:11条
    文章分类
    最新评论