Привет. Я пытаюсь следовать примеру мульти аутентификации laravel, как показано здесь: я использую laravel 5.6, я думаю, что dev marketer использует 5.2.https://www.youtube.com/watch?v=Ir2nAD9UDGg&t=1930s Итак, мой контроллер администратора выглядит следующим образом:
Проблема в том, что если я перехожу на: localhost/site1/admin
Я получаю ошибку в браузере
«Эта страница не работает, localhost перенаправлял вас слишком много раз. Попробуйте очистить ваши куки. ERR_TOO_MANY_REDIRECTS»
Я полагаю, это говорит о том, что он застрял в каком-то цикле перенаправления ???
Если я закомментирую конструктор, он перейдет на страницу администратора без входа в систему, что явно нехорошо.
Я также добавил функцию в: handler.php, как показано ниже:
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
class AdminLoginController extends Controller
{
protected $guard = 'admin';
use AuthenticatesUsers;
public function __construct()
{
$this->middleware('auth:admin')->except('logout');
}
protected function guard()
{
return Auth::guard('admin');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//return view('auth/admin');
return view('auth/admin');
}
public function showLoginForm()
{
return view('auth.admin-login');
}
public function login( Request $request )
{
// validate form
$this->validate( $request , [
'email' => 'required|email',
'password' => 'required|min:6'
]);
// attempt login
if (Auth::guard('admin')->attempt(['email'=>$request->email,'password'=>$request->password])) {
// if successful goto intended page
return redirect()->intended(route('admin.dashboard'));
}
// unsuccessful - redirect.
return redirect()->back()->withInput( $request->only('email','remember'));
}
}
Handler.php
public function unauthenticated($request, AuthenticationException $exception)
{
if($request->expectsJson()) {
return response()->json(['error'=>'Unauthenticated' , 401 ]);
}
$guard = array_get( $exception->guards(),0);
switch($guard) {
case 'admin':
$login='admin.login'; break;
default:
$login ='login'; break;
}
return redirect()->guest(route( $login ));
}
Также не уверен, что это уместно или полезно - но если я закомментирую функцию unauthenticated () в handler.php, он перенаправит на стандартный вход/ вместо нового входа администратора.и сохранение функции дает мне «страница не перенаправляет должным образом» в Firefox