Yii2: почему ключ auth в классе User?
поскольку заголовок уточняет, почему ключ auth введен в Yii2? Что это за основные обычаи и как они полезны при аутентификации?
2 ответов
основное использование-аутентификация пользователя по cookie. Когда вы выбираете, чтобы вас запомнили при входе в систему, это то, как вас запомнили. Система должна каким-то образом идентифицировать вас и войти в систему. Он может либо сохранить ваше имя пользователя и пароль в файле 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