2016-02-09 15 views
6

Attualmente sto scrivendo un'applicazione che ha solo account per il personale dell'azienda, non i normali visitatori del sito web. Pertanto, vorrei mantenere i miei URL relativi all'area "admin" del sito, sotto l'URL/admin che significa cambiare /login a /admin/login e /register a /admin/register.Modifica l'URL di login/registro in Laravel 5.2

Tuttavia, sono in perdita come cambiare il login e registrare gli URL in laravel 5.2, sembra che nelle versioni precedenti si trattava di una semplice questione di aggiungere protected $loginPath = '/admin/login';-Auth\AuthController Tuttavia, questo non fa differenza quando si aggiunge al mio AuthController.

Quanto segue è l'uscita di 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] 
+--------+----------+-------------------------+------+----------------------------------------------------------- 

risposta

7

In L5.2, tutti i percorsi di autenticazione sono raggruppati in una rotta denominata Route::auth().

Se si ricerca il simbolo auth(), è possibile visualizzare la funzione auth() che contiene tutti i collegamenti di percorso.

Controllare questo file: Illuminate\Routing\Router per la funzione auth().

Ma non sono sicuro che sia una buona pratica modificarlo qui.

Edit:

Quindi, se è necessario modificare i percorsi di default Auth, comprendono tutte le rotte nel file routes.php e cambiare l'URI come si desidera.

per ottenere un riferimento:

// 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

Grazie. Quale sarebbe la migliore pratica di scavalcare questi valori? – dwilson390

+0

Ho paura che tu debba cambiarlo qui. Ma aspetta che qualcuno confermi. –

+0

OK, grazie per il tuo aiuto! – dwilson390

3

È possibile chiamare Route::auth() all'interno di un gruppo prefissato.

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

E 'cattiva pratica di cambiare nulla nella cartella vendor, soprattutto perché vengono sovrascritti ogni volta che si esegue l'aggiornamento compositore.

Così Modificare Auth::routes(); su routes/web.php per

// 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]'); 
Problemi correlati