backend crud user

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
 AlexMak
Сообщения: 5
Зарегистрирован: 2018.12.16, 23:47

backend crud user

Сообщение  AlexMak »

Всем доброго дня!
Делаю crud user в бэкенде. Таблица user и регистрация/аутентификация стандартная из коробки. Проблема с авторизацией нового юзера. Попросту не пускает - пишет неверный логин/пароль.
crud сделал через gii, в модель User (в бэкенде) добавил поле и переменную password, в UserController (в бэкенде) в метод create () добавил генерацию password_hash и auth_key:

public function actionCreate()
{
$model = new User();

if ($model->load(Yii::$app->request->post()) && $model->validate()) {
$model->auth_key = Yii::$app->security->generateRandomString();
$model->password_hash = Yii::$app->security->generatePasswordHash($model->password);
$model->save();

return $this->redirect(['view', 'id' => $model->id]);
}

return $this->render('create', [
'model' => $model,
]);
}

В БД все нужные поля добавляет, юзера создает, но логинится не даёт. Замучился искать в чем проблема. Помогите, пожалуйста.

skynin
Сообщения: 399
Зарегистрирован: 2017.12.12, 10:09

Re: backend crud user

Сообщение skynin »

а где код проверки пароля для пользователя?

Yii::$app->security->validatePassword($password, $this->password_hash);

Посмотрите:
https://github.com/yiisoft/yii2-app-adv ... s/User.php

https://github.com/yiisoft/yii2-app-adv ... inForm.php
Не желайте странного, и не будет у вас головной боли чтобы достичь этого странного.
Тем более что окажется что оно вам и не нужно было, странное это.

Аватара пользователя
futbolim
Сообщения: 2051
Зарегистрирован: 2012.07.08, 19:28

Re: backend crud user

Сообщение futbolim »

Возможно, User::findIdentity() не отрабатывает

 AlexMak
Сообщения: 5
Зарегистрирован: 2018.12.16, 23:47

Re: backend crud user

Сообщение  AlexMak »

Всем спасибо! Разобрался. Оказалось активный статус юзера неверно проставлялся по умолчанию - вместо 10 ставил 1. Странно, конечно, что при входе с неактивным статусом выдают "неверный пароль/логин". Надо бы что-то адекватное выводить, - типа "ваш аккаунт заблокирован".

someweb
Сообщения: 552
Зарегистрирован: 2017.03.09, 10:12

Re: backend crud user

Сообщение someweb »

Все в ваших руках, выводите.
Чтобы правильно задать вопрос, нужно знать бо́льшую часть ответа. Роберт Шекли.

Ответить