Как в yii2 изменить basic login на работу с данными из БД?
Я написал свой контроллер и модель для регистрации, т.к. регистрация на моем проекте сложная, в несколько шагов, много данных, разные типы регистрации. Т.е. готовые решения тянуть не мог.
Но вот с авторизацией заморачиваться не хотелось бы, т.к. для авторизации используется e-mail и password из БД.
Готовые решения\модули тянуть не могу, т.к. регистрация готова.
А вот переделать basic template на работу из БД вполне было бы решением.
Но вот разбираться пока не хочется, потому что не факт ,что это будет быстрее. Но я был бы рад принять ссылку на статью\мануал, где это реализовано, чтобы я прочитал и быстро сделал. Знает ли кто-то подобное?
в методе findIdentity($id) по этому id ищу запись о юзере, формирую массив, как стандартный, и переопределяю его значениями этого массива. Этот метод проверяет залогиненого юзера.
И еще для валидации то же самое сделал в findByUsername($username)
Ну и в методе validatePassword($password) пришлось добавить md5 генерацию пароля, вот и все.
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;
}
}