Ошибка цикла перенаправления Laravel 5

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

Я хочу войти в систему пользователей и может быть в / путь не /home,

Если изменить return new RedirectResponse(url('/')); в return new RedirectResponse(url('/anotherpage')); это работает, но я хочу быть /

Маршруты:

    Route::get('/', [
'as' => 'home', 'uses' => 'HomeController@index'
]);// Tutorials Routes

Route::get('/tutorials', 'HomeController@tutorials');
Route::get('/tutorials/{category?}', 'HomeController@tutorialsCategory');
Route::get('/tutorials/{category?}/{lesson?}', 'HomeController@tutorialsLesson');

// Courses and Series Routes

Route::get('/courses-and-series', 'HomeController@coursesandseries');

// Admin Routes

Route::group(['middleware' => 'App\Http\Middleware\AdminMiddleware'],                 function()
{
Route::get('/admin', function()
{
return 'Is admin';
});
});

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

Промежуточное программное обеспечение администратора:

    public function handle($request, Closure $next)
{
if (Auth::user()->type != 'Admin')
{
return abort(404);
}

return $next($request);
}

RedirectIfAuthenticated:

    public function handle($request, Closure $next)
{
if ($this->auth->check())
{
return new RedirectResponse(url('/'));
}

return $next($request);
}

Домашний контроллер:

class HomeController extends Controller {
public function __construct()
{
$this->middleware('guest');
}

public function index()
{
return view('home');
}

public function tutorials()
{
return view('pages.tutorials');
}

public function tutorialsCategory()
{
return view('pages.tutorials');
}

public function tutorialsLesson()
{
return view('pages.single');
}

public function coursesandseries()
{
return view('pages.coursesandseries');
}

public function single()
{
return view('pages.single');
}
}

11

Решение

У вас есть эти петли перенаправления, потому что все методы в HomeController защищены гостевым промежуточным программным обеспечением.

Поскольку вы хотите перенаправить аутентифицированных пользователей на HomeController @ index

Удалить $this->middleware('guest'); от HomeController

или же

Измените гостевое промежуточное программное обеспечение, чтобы игнорировать метод индекса

$this->middleware('guest', ['only' => ['tutorials','tutorialsCategory']])

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

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]