2016-01-04 1 views
1

Я использую Laravel 5.2 и Laravel Authentication из коробки. Вот мои шаги: 1) установка Laravel 2) PHP ремесленник мигрировать 3) PHP ремесленник делают: AuthLaravel 5.2 - пользователь зарегистрировался только после успешного переадресации имени пользователя, после того, как я сделаю действие, пользователь больше не зарегистрирован

Все готово, по крайней мере, это должно быть ...

Чем открыть локальный/проект/общественность

a) Нажмите на ссылку «Регистрация», зарегистрировав новую учетную запись, если она будет успешной, она перенаправляет/home и сообщит, что я вошел в систему и показывает свое имя пользователя. b) Но как только я нажимаю на другую ссылку (например, кнопка «Главная», которая перенаправляет на /), чем пользователь больше не входит в систему. И поскольку я не зарегистрирован, я могу видеть ссылки «Вход в систему» ​​и «Регистрация», но они перенаправляются на/home, как ожидалось.

И я говорил, что если я закомментировать эту строку в AuthController (разрешить доступ на страницу входа, даже если я зарегистрирован)

public function __construct() 
{ 
    //$this->middleware('guest', ['except' => 'logout']); 
} 

после стадии б) с этой комментировал линии I нажмите Вход или Регистрация ссылку и ... пользователь снова вошел .. Очень странное поведение. же поведение, если я открываю http://localhost/project/public/home, он говорит, что я вошел в

Сгенерированный код из routes.php файла:.

Route::group(['middleware' => 'web'], function() { 
Route::auth(); 

Route::get('/home', '[email protected]'); }); 

Кто-нибудь знает, как решить эту проблему?

+0

Check [ссылку из] (http://test.heroesplay.com/) и скажите мне, если это делает то же самое. Если нет, я скажу вам, что я изменил. – Derek

+0

Кажется, он там работает .., но для меня это не то же самое поведение .. это ваш сайт? не могли бы вы добавить это, чтобы сделать окончательную проверку? Добавьте к этому routes.php: Route :: получить ('/ тест', функция() { \t если (Auth :: чек()) { \t \t эхо 'Записан в'; \t} еще { \t \t echo 'Не зарегистрирован'; \t} }); – Aleksandrs

+0

@DerekPollard, вы можете сказать мне, что вы изменили .. :) – Aleksandrs

ответ

2

Так, по существу, это то, что мой routes.php файл выглядит и прекрасно работает:

<?php 

/* 
|-------------------------------------------------------------------------- 
| Routes File 
|-------------------------------------------------------------------------- 
| 
| Here is where you will register all of the routes in an application. 
| It's a breeze. Simply tell Laravel the URIs it should respond to 
| and give it the controller to call when that URI is requested. 
| 
*/ 



/* 
|-------------------------------------------------------------------------- 
| Application Routes 
|-------------------------------------------------------------------------- 
| 
| This route group applies the "web" middleware group to every route 
| it contains. The "web" middleware group is defined in your HTTP 
| kernel and includes session state, CSRF protection, and more. 
| 
*/ 

Route::group(['middleware' => ['web']], function() { 
    // 
}); 

Route::group(['middleware' => 'web'], function() { 
    Route::auth(); 

    Route::get('/', function() { 
     return view('welcome'); 
    }); 

    Route::get('/home', '[email protected]'); 
}); 
+0

это действительно работает. Тогда теперь я должен поместить все мои будущие маршруты в «промежуточное» «промежуточное», чтобы это работало правильно? Это странное поведение. Не могли бы вы объяснить, как это работает? – Aleksandrs

+0

Я пытаюсь выяснить, в чем именно причина этого. Я использую Laravel в течение некоторого времени, и 5.2, похоже, имеет самое странное поведение, когда дело доходит до маршрутизации. – Derek

+0

Я хотел поставить этот ответ в качестве лучшего ответа, но я проверил еще 2 вещи: (когда вы входите в систему и вводите неверный пароль, он перенаправляет на общедоступный/логин, а страница пуста, то же самое при отправке пароля восстановления. Но когда я делаю ошибки в регистрация, все в порядке, оно показывает ошибки на одной странице ... – Aleksandrs

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