Как можно исправить изменение моего предполагаемого URL-адреса веб-сайта? - PullRequest
0 голосов
/ 06 июня 2019

Я создал авторизацию для своего сайта.Я понял, что, если пользователь вошел в систему, он не может вернуться на домашнюю страницу, потому что он сейчас находится на панели инструментов.Я изменил все с сгенерированного home.blade.php на dashboard.blade.php, а также все связанные ссылки home с помощью Stackoverflow

. Теперь я получаю неуклюжую ошибку.Если я выхожу из панели управления и хочу перенаправить на http://localhost:8888/ (welcome.blade.php), я получаю http://localhost:8888/login (login.blade.php).

Подробнее неловкоесли я нажимаю на навигационную кнопку в верхнем левом углу после выхода из системы, я не перенаправляю на http://localhost:8888/, вместо этого меня перенаправляют на http://localhost:8888/login.

  1. Я изменил свои маршруты web.php.Я добавил группы между «auth» и «guest».
  2. Если вошедший в систему пользователь пытается манипулировать URL-адресом с «/ dashboard» на «/», он перенаправляется.
  3. Я установил Laravel / телескопдля лучшей наглядности ошибки, но для меня, как для начинающего, это действительно сбивает с толку
  4. Я изменил hone.blade.php на dashboard.blade.php и все, что связано с 'home'
  5. Такжепопытался найти решение и использовал код пользователя stackoverflow для перенаправления после выхода пользователя из системы (LoginController.php), не работает

web.php

Route::group(array(['middleware'=>['guest']]), function(){

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



Auth::routes();


// Only logged user
Route::group(array('middleware'=>'auth'), function(){
  Route::get('/dashboard', 'DashboardController@index')->name('dashboard');

  Route::get('/', function () {
    return redirect('/dashboard');
  });


});

LoginController.php

use Illuminate\Http\Request;
protected function loggedOut(Request $request) {
      return redirect('/');
    }

Так что я не могу поместить изображение телескопа, но думаю, что могу попытаться воссоздать Картинку с текстом.

Ожидаемые результаты: я не очень разбираюсь в HTTP-Статус, поэтому я сделал все 200

Verb| Path       | Status

Here by '/' should be viewed welcome.blade.php

GET | /          | 200

POST| /logout    | 200

GET | /dashboard | 200

The user can't visit the Path '/' because he is now in dashboard website.

GET | /          | 200

POST| /login     | 200

Фактические результаты:

Verb| Path       | Status
GET | /login     | 200

GET | /          | 302

POST| /logout    | 302

GET | /dashboard | 200

GET | /          | 302

POST| /login     | 302

Если у вас, ребята, есть какие-либо вопросы, и вы хотите увидеть больше уроков, пожалуйста, спросите меня.Я не знаю, что относится к этой ошибке.Я думаю, в основном, что маршруты web.php неверны.

С наилучшими пожеланиями Тобиас

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

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

переписать код в web.php:

Route::get('/', HomeController@index);

Auth::routes();`

// Only logged user
Route::group(array('middleware'=>'auth'), function(){
    Route::get('/dashboard', 'DashboardController@index')->name('dashboard');
});

и в HomeController написать свою логику:

public function index()
{
    return Auth::guest() ? view('welcome') : redirect('/dashboard');
}
0 голосов
/ 06 июня 2019

Вы проверили контроллер или маршрут для вашего предполагаемого дома. например в вашем web.php, я вижу,

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

и затем в аутентификационных маршрутах

Route::get('/', function () {
       return redirect('/dashboard');
      });
...