Php Laravel,如果不登录,如何重定向到不同的登录页面
我使用的是编辑器中间件和客户中间件,如果不登录,我想将每个人重定向到不同的登录页面 所以对于编辑器,如果有人试图打开编辑器/仪表板,则重定向到编辑器/登录路径;如果试图打开客户仪表板,则返回到客户/登录路径Php Laravel,如果不登录,如何重定向到不同的登录页面,php,laravel,Php,Laravel,我使用的是编辑器中间件和客户中间件,如果不登录,我想将每个人重定向到不同的登录页面 所以对于编辑器,如果有人试图打开编辑器/仪表板,则重定向到编辑器/登录路径;如果试图打开客户仪表板,则返回到客户/登录路径 Route::group(['middleware' => ['auth:web','editor'],'prefix' => 'editor'], function () { Route::get('/dashboard', 'Editor\EditorController@
Route::group(['middleware' => ['auth:web','editor'],'prefix' => 'editor'], function () {
Route::get('/dashboard', 'Editor\EditorController@index');
中间件:
客户:
public function handle($request, Closure $next)
{
if((auth()->user()->role_id == 3)AND(auth()->user()->status == 1)){
return $next($request);
}return redirect()->intended('/')->withSuccess('You do not have access permission to Customer dashboard');
}
编辑:
public function handle($request, Closure $next)
{
if((auth()->user()->role_id == 3)AND(auth()->user()->status == 1)){
return $next($request);
}
return redirect()->intended('/')->withSuccess('You do not have access permission to Editor pages'); }
添加您的
编辑器
中间件
if(为空(auth()->user()){
返回重定向('编辑器/登录')
}
返回$next($request);
请输入您的中间件代码,我询问他是否未登录,我的意思是他是否复制了编辑器/仪表板并试图在其他浏览器中打开它!!您可以在if语句中添加auth()->user(),以检查用户是否已通过身份验证检查更新的应答您可以将其添加到您的应答中吗?我试过了,但仍然返回到登录页面将其添加到我的回答中没有任何更改,仍然将我重定向到正常登录页面,我想要它,如果编辑器中间件组中有此路由,那么如果用户未登录,则将其重定向到编辑器登录页面,它将应用于使用此中间件的路由,并确保您的身份验证中间件不应应用于StackOverflow。提供代码片段作为解决方案是好的,但只提供代码答案被认为是不好的做法。请详细说明这段代码的作用以及它是如何解决问题的。你写的和我写的有什么不同??????????
//Customer
public function handle($request, Closure $next)
{
if(auth()->user() && (auth()->user()->role_id == CUSTOMER_ROLE_ID) && (auth()->guard('user')->user()->status == 1)) {
return $next($request);
}
return redirect()->intended('login/customer')->withSuccess('You do not have access permission to Editor pages');
}
//Editor
public function handle($request, Closure $next)
{
if(auth()->user() && (auth()->user()->role_id == EDITOR_ROLE_ID) && (auth()->guard('user')->user()->status == 1)) {
return $next($request);
}
return redirect()->intended('login/editor')->withSuccess('You do not have access permission to Editor pages');
}
//customer
public function handle($request, Closure $next)
{
if(auth()->guard('user')->user()->role_id == 3 && auth()->guard('user')->user()->status == 1){
return $next($request);
}
return redirect("/");
}
//editor
public function handle($request, Closure $next)
{
if(auth()->guard('user')->user()->role_id == 3 && auth()->guard('user')->user()->status == 1){
return $next($request);
}
return redirect("/");
}