Yii обрабатывает пользовательские данные в сеансе с помощью IdentityInterface. Пошли шаг за шагом.
Вы можете создать класс, назовите его User, который реализует IdentityInterface. Если вы подключены к базе данных, вы можете расширить ее до ActiveRecord, полностью до вашей архитектуры.
class User extends ActiveRecord implements IdentityInterface
{
...
}
Добавить сведения о конфигурации в файл конфигурации, main.php. Я работаю над предварительным шаблоном, таким образом, он находится в fronted/config. Проверьте его на базовый.
'components' => [
...
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
],
....
];
Сообщает приложению, чтобы получить информацию о сеансе пользователя из общей \ model \ User class. Его общее, поскольку я использую тот же класс для бэкэнд и интерфейса, что не относится к основному шаблону.
Сделать пользователь Войти в приложение
Когда вы получаете объект класса User, с действительным именем пользователя и паролем, используйте следующий код для входа пользователя.
Yii::$app->user->login($user);
Чтобы получить значение пользователя, имеют следующий образец
Yii :: $ app-> user-> isGuest - Это говорит о том, является ли зарегистрированным пользователем или нет.
Yii :: $ app-> user-> идентификатор - Получить идентификатор пользователя
Yii :: $ app-> user-> использованием личных данных> имя - Yii::$app->user->identity
даст вам доступ для всего объекта класса User. Если у вас есть другие атрибуты, используйте идентификатор и получите их. Например, вы можете иметь «аватар», который хранит URL-адрес аватара, вы можете получить его на Yii::$app->user->identity->avatar
.
Наконец, чтобы выйти из системы
Yii::$app->user->logout();
вы можете обратиться по этой ссылке для заданной сессии и получить значение сеанса в YII. http://stackoverflow.com/questions/14197462/set-session-in-yii-framework/14197600 –