2016-07-11 7 views
0

В Laravel 5.2 аутентификация делается простой и одним из способов упрощения аутентификации является добавление всех маршрутов, необходимых для аутентификации с помощью одного метода, этот метод равен Route::auth().Только разоблачение определенных маршрутов auth в Laravel

Это замечательно, но лучший способ только разоблачить те, которые необходимы для действий входа и выхода из системы, а не для регистрации, потому что я хочу иметь один главный логин, который может сделать другие учетные записи администратором веб-сайта. Но я не хочу, чтобы пользователи были в обычном смысле.

ответ

2

Вы можете добавить к маршрутам.php без какой-либо траектории.

// Authentication Routes... 
//Login Routes... 
Route::get('login','AdminAuth\[email protected]'); 
Route::post('login','AdminAuth\[email protected]'); 
Route::get('logout','AdminAuth\[email protected]'); 


// Registration Routes... 
Route::get('register', 'Auth\[email protected]'); 


// Password Reset Routes... 
Route::get('password/reset/{token?}','Auth\[email protected]'); 
0

При запуске есть метод Route::auth() в вашем routes.php и запустить php artisan route:list команду, которую вы можете увидеть, какие маршруты он определяет.

В этом случае они:

+--------+----------+-------------------------+------+----------------------  -------------------------------------------+------------+ 
| Domain | Method | URI      | Name | Action               | Middleware | 
+--------+----------+-------------------------+------+-----------------------------------------------------------------+------------+ 
|  | GET|HEAD |/      |  | Closure               | web  | 
|  | GET|HEAD | home     |  | App\Http\Controllers\[email protected]      | web,auth | 
|  | GET|HEAD | login     |  | App\Http\Controllers\Auth\[email protected]   | web,guest | 
|  | POST  | login     |  | App\Http\Controllers\Auth\[email protected]     | web,guest | 
|  | GET|HEAD | logout     |  | App\Http\Controllers\Auth\[email protected]     | web  | 
|  | POST  | password/email   |  | App\Http\Controllers\Auth\[email protected] | web,guest | 
|  | POST  | password/reset   |  | App\Http\Controllers\Auth\[email protected]    | web,guest | 
|  | GET|HEAD | password/reset/{token?} |  | App\Http\Controllers\Auth\[email protected]  | web,guest | 
|  | GET|HEAD | register    |  | App\Http\Controllers\Auth\[email protected] | web,guest | 
|  | POST  | register    |  | App\Http\Controllers\Auth\[email protected]    | web,guest | 
+--------+----------+-------------------------+------+-----------------------------------------------------------------+------------+ 

Вы можете ясно видеть, которые необходимы в Colum URI; login (get), login (post) и logout (get).

Удалить метод Route::auth() из routes.php и добавить следующее:

Route::get('login', 'Auth\[email protected]'); 
Route::post('login', 'Auth\[email protected]'); 
Route::get('logout', 'Auth\[email protected]'); 

Если вы хотите, уже зарегистрированные админы, чтобы иметь возможность вручную изменить свой пароль, вы также включают в себя:

Route::post('password/email', 'Auth\[email protected]'); 
Route::post('password/reset', 'Auth\[email protected]'); 
Route::get('password/reset/{token?}', 'Auth\[email protected]'); 

Не забудьте указать предоставленные вам инструменты:

Смежные вопросы