https://laravel.com/docs/5.4/authentication
Аутентификация — процесс проверки пользователя, т.е сравнение введенных логина и пароля с данными зарегистрированных пользователей сайта.
Настройки аутентификации располагаются: \config\auth.php
Данные аутентификации можно хранить в сессии или создавать специальную строку tocken, которая передается в каждом запросе. Охранники используются при этом.
Провайдеры определяют, как можно получить данные пользователя из БД или другого места.
<?php
return [
'defaults' => [
'guard' => 'web', // охранник по умолчанию
'passwords' => 'users', // логика сброса пароля для пользователя
],
// здесь определены доступные охранники веб-приложения
// охранник web: информация хранится в сессии
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
// провайдер - механизм, который позволяет вытащить информацию о пользователе
'providers' => [
'users' => [
'driver' => 'eloquent', // реляционная модель eloquent
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
// здесь настраивается механизм сброса пароля
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_resets', // название таблицы для сброса пароля
'expire' => 60,
],
],
];
Эти таблицы необходимы для работы со сбросом пароля.
\database\migrations
2014_10_12_000000_create_users_table.php
2014_10_12_100000_create_password_resets_table.php
Идем в консоль.
Пишем: php artisan make:auth
Это сформирует виды и вспомогательный контроллер для работы.
Здесь система аутентификации пользователей: resources\views\auth
login.blade.php – отображает форму для ввода логина.
register.blade.php — регистрация нового пользователя.
В resources\views\auth\passwords
email.blade.php — поля для адреса, куда выслается сообщение с ссылкой о сбросе пароля. Т.е Send Password Reset Link
reset.blade.php — куда ведет данная отправленная ссылка. Для непосредственного сброса пароля пользователя.
\resources\views\home.blade.php — страница администратора.
Рассмотрим контроллер: \app\Http\Controllers\HomeController.php
В маршрутизаторе \routes\web.php уже был сформирован дополнительный маршрут:
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Список доступных и зарегистрированных в системе маршрутов мы можем увидеть, если выполним специальную команду в консоли: php artisan route:list
Обратимся к станице http://tlaravel.loc/home
Эта страница закрыта и нас перебросит на страницу: http://tlaravel.loc/login
Зарегистрируем пользователя: http://tlaravel.loc/register
И потом мы можем залогинится.
Если мы хотим сделать какой-либо закрытый раздел, то можно применить к нему посредник auth.
Сделаем раздел контактов закрытым. Для этого пропишем маршрут:
Route::group(['middleware' => ['web']], function () {
Route::get('/contact',['middleware'=>['auth'],'uses'=>'Admin\ContactController@show','as'=>'contact']);
Route::post('/contact',['uses'=>'Admin\ContactController@store']);
});
Теперь при обращении к странице http://tlaravel.loc/contact нас просят ввести пароль.
суббота, 22 июля 2017 г.
LARAVEL. АУТЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЕЙ. ЧАСТЬ 1.
Подписаться на:
Комментарии к сообщению (Atom)
Materialize-css. Футер
Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html
-
Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html
-
Простое API. HTTP. Урок 1. Справка о методе PUT.
-
Класс Request - абстракция отправляемого запроса пользователя.
Анастасия, спасибо большое, помогли
ОтветитьУдалить