Я разрабатываю простой логин в laravel 5.3
.Пользовательское представление для аутентифицированного пользователя в laravel 5.3
У меня есть два dashboard
, в которых один предназначен для admins
, а другой для subscribers
. Я просмотрел документацию об аутентификации, там есть настройка пути, где, если я могу изменить $redirectTo = '/home'
на любой из маршрутов, он будет перенаправлять представления соответственно.
У меня есть столбец в моей таблице пользователей с именем is_admin, который содержит логическое значение.
Я пытаюсь поместить следующие коды в LoginController
согласно документации:
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use \Auth;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
// protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
/**
* Handle an authentication attempt.
*
* @return Response
*/
public function redirectPath()
{
if (Auth::user()->is_admin == 0)
{
return redirect()->intended('/memberprofile');
}
else
{
return redirect('/dashboard');
}
}
}
и закомментирован protected $redirectTo = '/home';
но он все еще перенаправлению дома. Даже если я делаю protected $redirectTo = '/dashboard'
, он маршрутизирует то же самое, что и /home
. Я не знаю, где проблема.
Я проверил RedirectIfAunthenticated
межплатформенное он имеет следующий код:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
Есть ли какие-либо проблемы в связи с этим?
Пожалуйста направьте меня
Спасибо, он работал, приветствует! –
@mustafa By меняя «RedirectIfAunthenticated», вы меняете смысл «промежуточного ПО» гостевого. Это может вызвать проблемы i n для приложения. –