Yii2 аутентификация пользователей через бд

Изначально в advanced шаблоне уже встроен механизм аутентификации и авторизации пользователей.

Чтобы настроить фреймворк для хранения информации о пользователях в бд, в первую очередь необходимо настроить подключение к БД.

1. Редактируем файл /common/config/main-local.php:

<?php
return [
    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=yii2',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => false,
        ],
    ],
];

В данном случае мы будем использовать СУБД Mysql, нужно правильно заполнить поля dbname, username, password.

2. Запускаем из консоли:

./yii migrate

Yii Migration Tool (based on Yii v2.0.12)

Creating migration history table "migration"...Done.
Total 1 new migration to be applied:
        m130524_201442_init

Apply the above migration? (yes|no) [no]:y
*** applying m130524_201442_init
    > create table {{%user}} ... done (time: 0.011s)
*** applied m130524_201442_init (time: 0.019s)


1 migration was applied.

Migrated up successfully.

3. Далее заходим на страницу по ссылке http://yii2/frontend/web/index.php?r=site%2Fsignup (http://yii2/ это локальный адрес сайта, в Вашем случае он может быть другим)

user-add

После заполнения формы, нажмите "Signup", пользователь будет добавлен, можете проверить в phpmyadmin:

mysql-auth

Также пользователь сразу будет авторизован.

 

 

Поделиться: 




Чтобы оставить комментарий - авторизуйтесь




  Yii2   06.10.2017