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