butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Как в yii2 изменить basic login на работу с данными из БД?

Я написал свой контроллер и модель для регистрации, т.к. регистрация на моем проекте сложная, в несколько шагов, много данных, разные типы регистрации. Т.е. готовые решения тянуть не мог.
Но вот с авторизацией заморачиваться не хотелось бы, т.к. для авторизации используется e-mail и password из БД.
Готовые решения\модули тянуть не могу, т.к. регистрация готова.
А вот переделать basic template на работу из БД вполне было бы решением.
Но вот разбираться пока не хочется, потому что не факт ,что это будет быстрее. Но я был бы рад принять ссылку на статью\мануал, где это реализовано, чтобы я прочитал и быстро сделал. Знает ли кто-то подобное?
  • Вопрос задан
  • 2630 просмотров
Решения вопроса 1
butteff
@butteff Автор вопроса
Раз в тысячу лет заправляю свитер в носки
В общем воткнулся костылями в существующий код.

в методе findIdentity($id) по этому id ищу запись о юзере, формирую массив, как стандартный, и переопределяю его значениями этого массива. Этот метод проверяет залогиненого юзера.

И еще для валидации то же самое сделал в findByUsername($username)
Ну и в методе validatePassword($password) пришлось добавить md5 генерацию пароля, вот и все.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
abler98
@abler98
Software Engineer
class User extends ActiveRecord implements IdentityInterface {
	public static function tableName() {
		return 'users';
	}
	
	public static function findIdentity($id) {
		return static::findOne($id);
	}
	
	public static function findIdentityByAccessToken($token, $type = null) {
		return static::findOne(['access_token' => $token]);
	}
	
	public function getId() {
		return $this->getPrimaryKey();
	}
	
	public function getAuthKey() {
		return $this->auth_key;
	}
	
	public function validateAuthKey($authKey) {
		return $this->getAuthKey() === $authKey;
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
07 мая 2024, в 14:38
8000 руб./за проект
07 мая 2024, в 14:38
15000 руб./за проект
07 мая 2024, в 14:36
70000 руб./за проект