我的项目有2个登录页面
1)cms / admin / login
2)cms / users / login
如果用户重定向到用户登录页面 CMS /用户/登录
如果是管理员电话 cms / admin /重定向到cms / admin /登录页面
答案 0 :(得分:3)
首先,你不知道用户是用户还是管理员,直到他登录你的应用程序,所以有2条不同的路由同样的事情是有点坏。为了达到你想要的类似的东西,你需要有一个png-crop
路由,用户/管理员将登录并根据他的状态(例如1 - 用户,2 - 管理员)重定向他cms/login
或cms/user/page
。要做到这一点,你将不得不使用Middleware,这在Laravel官方文档中有很好的记录。
例如,所有管理页面的中间件应该如下所示
cms/admin/page
在<?php
namespace App\Http\Middleware;
use Closure;
class AdminMiddleware
{
/**
* Run the request filter.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->input('status') == 2) {
//2 means its admin and i let him get that admin page
return $next($request);
}
//he is not admin so i redirect him back
return Redirect::back();
}
}
中添加中间件别名
Kernel.php
在protected $routeMiddleware = [
'admin' => \App\Http\Middleware\AdminMiddleware::class,
];
中,您将中间件分配给该路由
routes.php
希望有所帮助