laravel 5.3
에 간단한 로그인을 만들고 있습니다.laravel의 인증 된 사용자에 대한 사용자 정의보기 5.3
저는 dashboard
중 하나가 admins
을 의미하고 다른 하나는 subscribers
을 의미합니다. 인증에 대한 문서를 살펴 보았습니다. 경로 사용자 정의가 있습니다. 여기서 $redirectTo = '/home'
을 경로로 변경하면 뷰를 각각 리디렉션합니다.
나는 boolean 값을 보유하고있는 is_admin이라는 이름의 사용자 테이블에있는 열을 가지고 있습니다.
<?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';
을 주석하지만 여전히 집으로 리디렉션됩니다 :
나는 문서에 따라 LoginController
에 다음 코드를 배치하는 것을 시도하고있다. 내가 protected $redirectTo = '/dashboard'
이라도 /home
으로 라우팅됩니다. 나는 문제가 어디에 있는지 모른다.
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/home');
}
return $next($request);
}
문제는이 때문에 거기 :
나는이 코드를 다음 한RedirectIfAunthenticated
미들웨어를 확인?
나에게 LoginController
정의 다음 함수에서
고마워요, 축하합니다! –
@mustafa By 'RedirectIfAunthenticated'를 변경하면'guest' 미들웨어의 의미가 바뀌므로 문제가 발생할 수 있습니다. 응용 프로그램에 대해 장기간 실행됩니다. –