如果在Laravel上访问本地``/''路由,如何自动重定向

时间:2019-09-24 04:00:06

标签: laravel

i使用laravel 5.8并具有角色的用户。喜欢角色1、2、3。 1:isAdmin,2:isEmployee,3:isManager。

我为此角色创建中间件:

    class AdminMiddleware
{

    public function handle($request, Closure $next)
    {


        $user = $request->user();

        if($user){
            if($user->isAdmin())
            {
                return $next($request);
            }
        }


        return abort('401');
    }
}

并且我将其添加到模型用户上:

public function isAdmin()
{
    if($this->roles_id == 2)
    return true;

    return false;
}

我将其添加到LoginController中:

 protected function authenticated(Request $request, $user)
{
    if ( $user->isAdmin() ) {// do your margic here
        return redirect()->route('admin_dashboard');
    }
    elseif ($user->isEmployee()) {
        return redirect()->route('pns_profile');
    }
    else{
        return redirect()->route('profile');
    }

}

及其对多认证的工作。但是我有问题。 如果我关闭浏览器。然后我再次打开该项目。它将重定向到home或'/'。喜欢 本地主机/项目/。它会去首页。

我要关闭浏览器,然后再次打开,此会话在adminMiddleware上处于活动状态,它将重定向到admin_dashoard(localhost / project / admin_dashboard)。我该怎么做?

0 个答案:

没有答案