Php 为不同类型的用户提供一个登录页面,并重定向到Laravel中的预期仪表板
我一直在计划为不同类型的用户创建一个登录页面,它将能够将他们引导到预期的仪表板/主页。这是我的两个用户:Php 为不同类型的用户提供一个登录页面,并重定向到Laravel中的预期仪表板,php,laravel,Php,Laravel,我一直在计划为不同类型的用户创建一个登录页面,它将能够将他们引导到预期的仪表板/主页。这是我的两个用户: 旅行者 代理人 旅行者可以成功登录,并将被定向到预期主页,但代理不会被定向到其预期主页,而是被定向回登录页面 这是我的登录控制器代码 <?php namespace App\Http\Controllers\Auth; use Auth; use App\Travelers; use App\Agents; use App\Users; use App\Http\Controlle
<?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');
}
}
}
我认为您需要在LoginController
例如:
public function redirectPath()
{
if (Auth::user()->role == 'admin'){
return '/admin';
}
return '/';
}
我认为您需要在LoginController
例如:
public function redirectPath()
{
if (Auth::user()->role == 'admin'){
return '/admin';
}
return '/';
}
假设您将user\u 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';
}
}
所有管理员
重定向到仪表板
,其他用户
重定向到游戏
。我使用的是laravel默认身份验证系统
注意
protected$redirectTo='/dashboard'代码>
改为
protected function redirectTo()
{
return '/path';
}
参考资料:假设您将user\u 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';
}
}
所有管理员
重定向到仪表板
,其他用户
重定向到游戏
。我使用的是laravel默认身份验证系统
注意
protected$redirectTo='/dashboard'代码>
改为
protected function redirectTo()
{
return '/path';
}
参考资料:您使用的是什么版本的laravel?在交换机控制结构中添加一个全面的“默认值”。代理身份验证的结果是什么?可能与您使用的laravel版本重复?在交换机控制结构中添加一个全面的“默认值”。代理验证的结果是什么?可能是重复的我要试试这个。“redirectPath”后面真的是空的吗?不明白,你是什么意思?在“redirectPath”旁边的括号:)我要试试这个。“redirectPath”后面真的是空的吗?不明白,你是什么意思?在“redirectPath”旁边的括号中: