我一直在计划为不同类型的用户创建一个登录页面,它将能够将他们引导到他们的仪表板/主页。这是我的两个用户:
旅行者可以成功登录,并将被定向到预期的主页,但代理不会被定向到其预期的主页,而是它将被导向回登录页面。
这是我的登录控制器代码
<?php
namespace App\Http\Controllers\Auth;
use Auth;
use App\Travelers;
use App\Agents;
use App\Users;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
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
*/
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
public function login(Request $request){
if(Auth::attempt([
'email' => $request->email,
'password' => $request->password
])){
$user = Users::where('email', $request->email)->first();
switch ($user->userType){
case 'traveler':
return redirect()->route('Traveler/HomePage');
break;
case 'travel agent':
return redirect()->route('Agent/HomePage');
break;
}
}
else{
return redirect()->route('login');
}
}
}发布于 2017-11-21 15:22:24
我认为您需要在LoginController中重新定义方法LoginController,例如:
public function redirectPath()
{
if (Auth::user()->role == 'admin'){
return '/admin';
}
return '/';
}发布于 2017-11-23 08:01:13
假设您将user_type列添加到user表和1 - users / 2 - admin中
LoginController.php
//protected $redirectTo = '/dashboard';
protected function redirectTo()
{
if(Auth::user()->user_type=='2'){
return '/dashboard';
}else{
return '/game';
}
}所有的admins都重定向到dashboard,其他users重定向到game。我使用的是laravel默认的auth系统。
注意,protected $redirectTo = '/dashboard';更改为
protected function redirectTo()
{
return '/path';
}参考资料:https://laravel.com/docs/5.5/authentication#authentication-quickstart
https://stackoverflow.com/questions/47415856
复制相似问题