-1

Я нахожусь на проекте, на сайте есть два типа пользователей Администратор и Пользователь. Я сделал промежуточное программное обеспечение для администратора, в промежуточное программное обеспечение работает правильно, но когда я пытаюсь войти в вопрос появился:Laravel - слишком много вопросов о переадресации

слишком много переадресаций

мои маршруты:

<?php 

Route::get('/', [ 
    'uses' => '[email protected]', 
    'as' => 'welcome' 
]); 
Route::get('/{form?}', [ 
    'uses' => '[email protected]', 
    'as' => 'index' 
]); 
Route::post('/exsist',[ 
    'uses' => '[email protected]', 
    'as' => 'login' 
]); 
Route::group(['middleware' => 'auth'],function(){ 
    Route::group(['prefix' => '/admin','middleware' => 'admin'],function(){ 
     Route::group(['prefix' => '/my'],function(){ 
      Route::get('/home', [ 
       'uses' => '[email protected]', 
       'as' => 'admin.home' 
      ]); 
     }); 
    }); 
    Route::group(['prefix' => '/'],function(){ 
     Route::get('/home', [ 
      'uses' => '[email protected]', 
      'as' => 'home' 
     ]); 
    }); 
}); 

и мой Контроллер:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Illuminate\Support\Facades\Auth; 

use App\Http\Requests; 
use App\User; 
class UserController extends Controller 
{ 
     //main page 
    public function getIndex($form = ''){ 
      if(Auth::check()){ 
       if(Auth::user()->isAdmin()){ 
        return redirect()->route('admin.home'); 
       }else{ 
        return redirect()->route('home'); 
       } 
      } 
      return view('welcome', ['form' => $form]); 
     } 
     //main login (index page) 
     public function postLogin(Request $request){ 
      //validation 
      $this->validate($request,[ 
       'email' => 'required|email', 
       'pass' => 'required' 
      ]); 
      //authintecating user 
      if(Auth::attempt(['email'=>$request['email'], 'password'=>$request['pass']])){ 
       if(Auth::user()->isAdmin()){ 
        return redirect()->route('admin.home')->with(['success'=>'You have successfuly loged in as Admin!']); 
       }else{ 
        return redirect()->route('home')->with(['success'=>'You have successfuly loged in as User!']); 
       } 
      } 
      return redirect()->route('index')->with(['fail'=>'Wrong Email or Password!']); 
     } 
     public function getHome(){ 
      return view('home'); 
     } 
} 

почему браузер дает мне ошибку?

ответ

2

Попробуйте изменить:

Route::get('/{form?}', [ 
'uses' => '[email protected]', 
'as' => 'index' 
]); 

To:

Route::get('/form/{form?}', [ 
'uses' => '[email protected]', 
'as' => 'index' 
]); 

Я считаю, что, когда вы идете в '/' маршрут, маршрут выполняется '/ {форме?}'.

+0

человек, вы гений (y) .. Я смущаю, как я думал об этом –

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