2015-12-29 7 views
4

Я видел, что Laravel 5.2 меняет использование routes.php.Laravel 5.2 Auth and Password route

В самом деле, старый:

Route::controllers([ 
'auth' => 'Auth\AuthController', 
'password' => 'Auth\PasswordController', 
]); 

не работать.

Вместо этого я увидел, что лучше использовать:

Route::Auth(); 

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

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

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

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

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

Это довольно ужасно, так что есть лучшее использование этого файла route.php 5.2 для этой новой версии Laravel?

Благодарим за помощь!

+0

Что означает «не работает сейчас» для вас? Что именно не работает? Какие шаги вы делаете? –

+0

@ MarcinNabiałek Я только что редактировал свой пост. Надеюсь, я понятен ... Laravel просто не понимает мой метод Route :: controller(). Кроме того, я пытаюсь использовать 5.1-метод в новой версии 5.2, это довольно плохая идея, может быть ... – Jiedara

+0

@Jiedara Переводите ли вы с 5.1 на 5.2? – Bogdan

ответ

9

С Laravel 5.2, система аутентификации гораздо проще получить и работает. Вы можете просто запустить эту команду:

php artisan make:auth 

Это будет заботиться о настройке необходимых ресурсов аутентификации: определения маршрута, представления и т.д. Там больше информации о предмете в Laravel Documentation. Вы также можете посмотреть this article, чтобы просмотреть другие функции, которые не являются новыми для Laravel 5.2.

2

Может Этот код поможет вам ..

Route::get('auth/login', 'Auth\[email protected]'); 
Route::post('auth/login', 'Auth\[email protected]'); 
Route::get('auth/logout', 'Auth\[email protected]'); 
Route::get('auth/confirm/{token}', 'Auth\[email protected]'); 

Для Пароль

Route::get('password/email', 'Auth\[email protected]'); 
    Route::post('password/email', 'Auth\[email protected]'); 


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

Но это то, что я уже делаю. Интересно, есть ли лучший способ сделать это, точно так же, как маршрут: controller(). Если нет, спасибо, у вас есть ответ;) – Jiedara

0

Если у кого-то есть проблемы с доступом/регистрацией и/регистрацией в новой системе аутентификации. Вы должны посмотреть на session documentation.

Способ (или некоторые части) сеансов хранения изменяется. Вы должны настроить таблицу сеанса. Как вы можете это сделать, будет объяснено в документе.

0

Вы можете использовать псевдоним Маршрут:

Route::get('auth/login', ['as'=>'getLogin', 'uses'=>'Auth\[email protected]']; 
Route::post('auth/login', ['as'=>'postLogin', 'uses'=>'Auth\[email protected]']; 

В контроллере создать публичную функцию:

public function showLoginForm() { 
    return view('auth.login'); 
} 

public function postLogin(Request $data) { 
    $users = new User(); 
    $users->username = $data->txtUsername; 
    ... 
} 
3

поставщика/Laravel/рамки/SRC/Осветите/Routing/router.php
пойти на это file auth метод, там все маршруты определены