2016-02-09 4 views
6

В настоящее время я пишу приложение, в котором есть только учетные записи сотрудников компании, а не постоянных посетителей сайта. Таким образом, я хотел бы сохранить свои URL-адреса, относящиеся к области «admin» на сайте, под URL-адресом/admin, что означает изменение /login на /admin/login и /register на /admin/register.Изменение URL логина/регистрации в Laravel 5.2

Однако я не понимаю, как изменить регистрацию и регистрацию URL-адресов в Laravel 5.2, кажется, что в предыдущих версиях было просто добавить protected $loginPath = '/admin/login'; в Auth\AuthController Однако это не имеет значения при добавлении его к моему AuthController.

Ниже приведено значение php artisan route:list;

+--------+----------+-------------------------+------+----------------------------------------------------------- 
| Domain | Method | URI      | Name | Action 
+--------+----------+-------------------------+------+----------------------------------------------------------- 
|  | GET|HEAD |/      |  | App\Http\Controllers\[email protected] 
|  | GET|HEAD | admin     |  | App\Http\Controllers\[email protected] 
|  | GET|HEAD | admin/profile   |  | App\Http\Controllers\[email protected] 
|  | GET|HEAD | login     |  | App\Http\Controllers\Auth\[email protected] 
|  | POST  | login     |  | App\Http\Controllers\Auth\[email protected] 
|  | GET|HEAD | logout     |  | App\Http\Controllers\Auth\[email protected] 
|  | POST  | password/email   |  | App\Http\Controllers\Auth\[email protected] 
|  | POST  | password/reset   |  | App\Http\Controllers\Auth\[email protected] 
|  | GET|HEAD | password/reset/{token?} |  | App\Http\Controllers\Auth\[email protected] 
|  | GET|HEAD | register    |  | App\Http\Controllers\Auth\[email protected] 
|  | POST  | register    |  | App\Http\Controllers\Auth\[email protected] 
+--------+----------+-------------------------+------+----------------------------------------------------------- 

ответ

7

В L5.2 все маршруты аутентификации сгруппированы по маршруту Route::auth().

Если вы ищете символ auth(), вы можете увидеть функцию auth(), которая содержит все ссылки маршрута.

Проверьте этот файл: Illuminate\Routing\Router для функции auth().

Но я не уверен, что это хорошая практика, чтобы изменить его здесь.

Edit:

Так что, если вам нужно изменить AUTH по умолчанию маршруты по, включают в себя все маршруты в файле routes.php и изменить URI, как вы хотите.

Чтобы получить ссылку:

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

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

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

Спасибо. Какова была бы лучшая практика переопределения этих значений? – dwilson390

+0

Боюсь, вы должны изменить его здесь. Но подождите, пока кто-то подтвердит. –

+0

Хорошо, спасибо за помощь! – dwilson390

3

Вы можете вызвать Route::auth() внутри приставкой группы.

Route::group(['prefix' => 'admin'], function() { 
    Route::auth(); 
}); 
0

Это плохая практика, чтобы изменить что-либо в папке поставщика, особенно потому, что они будут перезаписаны в любое время, когда вы запускаете обновление композитора.

Так Изменение Auth::routes(); на routes/web.php в

// Authentication Routes... 
    $this->get('login', 'Auth\[email protected]')->name('login'); 
    $this->post('login', 'Auth\[email protected]'); 
    $this->post('logout', 'Auth\[email protected]')->name('logout'); 

    // Registration Routes... 
    $this->get('registers', 'Auth\[email protected]'); 
    $this->post('registers', 'Auth\[email protected]'); 

    // Password Reset Routes... 
    $this->get('password/reset', 'Auth\[email protected]'); 
    $this->post('password/email', 'Auth\[email protected]'); 
    $this->get('password/reset/{token}', 'Auth\[email protected]'); 
    $this->post('password/reset', 'Auth\[email protected]'); 
Смежные вопросы