Как видно из заголовка, почему ключ авторизации введен в Yii2? Каковы его основные способы использования и как это полезно для аутентификации?
Yii2: Почему ключ авторизации находится в классе User?
Ответы (2)
Основное использование — аутентификация пользователя с помощью куки. Когда вы выбираете, чтобы вас помнили при входе в систему, вас запоминают именно так. Система должна как-то вас идентифицировать и войти в систему. Он может либо сохранить ваше имя пользователя и пароль в файле cookie (что было бы небезопасно), либо запомнить вас другими способами. Это одно из средств. После того, как вы войдете в свое приложение Yii, посмотрите на файл cookie _identity, который он создает. Вы увидите, что ключ auth_key является частью файла cookie.
Файл cookie фактически запоминает $id, $authKey и $duration, комбинацию id\auth_key безопаснее запомнить, чем комбинацию имени пользователя и пароля.
Как объяснялось ранее, вам нужно реализовать getAuthKey()
и validateAuthKey()
только в том случае, если ваше приложение использует функцию входа на основе файлов cookie. В этом случае вы можете использовать следующий код для создания ключа auth
для каждого пользователя и сохранения его в таблице пользователей:
Более подробную информацию можно найти в официальной документации: https://www.yiiframework.com/doc/guide/2.0/en/security-authentication