Есть таблица user & admin_user соответственно для фронтенда и бекенда.
На бекенде добавление пользотелей-админов будет не через почту, а другим админом через форму в бекенде.
Для бекенда миграция:
Код: Выделить всё
$this->createTable('{{%admin_user}}', [
'id' => Schema::TYPE_PK,
'username' => Schema::TYPE_STRING . ' NOT NULL',
// 'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL',
'password_hash' => Schema::TYPE_STRING . ' NOT NULL',
// 'password_reset_token' => Schema::TYPE_STRING,
'email' => Schema::TYPE_STRING . ' NOT NULL',
'role' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10',
'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10',
'created_at' => Schema::TYPE_INTEGER . ' NOT NULL',
'updated_at' => Schema::TYPE_INTEGER . ' NOT NULL',
], $tableOptions);
Класс Admin (наследник ActiveRecord) должен обязательно имплеменитить интерфейс IdentityInterface, т.к. на него завязан
Код: Выделить всё
\Yii::$app->user->login()
Код: Выделить всё
public function getAuthKey()
{
return $this->authKey;
}
public function validateAuthKey($authKey)
{
return $this->authKey === $authKey;
}
Может есть какой-то более правильный метод для аутентификации?