【发布时间】:2018-10-31 19:43:16
【问题描述】:
我有一个包含两种用户类型的用户表:供应商和客户。如果供应商角色是 1 重定向到供应商仪表板并且客户角色是 2 重定向到客户仪表板,那么登录一切都很好,但是登录后如何防止路由到客户仪表板,如果以供应商身份登录,反之亦然 登录控制器取决于角色:
class CustomerLoginController extends Controller
{
public function __construct()
{
$this->middleware('guest:web');
}
public function showLoginForm()
{
return view('Customer.login');
}
public function login(Request $request)
{
$this->validate($request,[
'email'=>'required|email',
'password'=>'required|min:6',
]);
if (Auth::guard('web')->attempt(['email'=>$request->email,'password'=>$request->password,'active'=>1,'role_id'=>2], $request->remember)) {
return redirect()->intended(route('customer.dashboard'));
} elseif (Auth::guard('web')->attempt(['email'=>$request->email,'password'=>$request->password,'active'=>1,'role_id'=>1],$request->remember)) {
return redirect()->intended(route('vendor.dashboard'));
}
return redirect()->back()->withInput($request->only('email','remember'));
}
}
登录路由控制器后:
public function __construct()
{
$this->middleware('auth');
}
public function index()
{
return view('index.customer.customerdashboard');
}
public function vendor()
{
return view('index.vendor.vendordashboard');
}
【问题讨论】:
-
你可以使用这个包获得角色权限here
-
这可以通过使用中间件来完成。
-
请提供任何代码