【问题标题】:How to set default redirect with different session on laravel 5.8如何在 laravel 5.8 上使用不同的会话设置默认重定向
【发布时间】:2019-06-01 13:24:11
【问题描述】:

我有一个带角色的管理登录名。它的用户,管理员,超级管理员。我在中间件中创建了所有角色,并在 LoginController 中的这段代码:

protected function authenticated(Request $request, $user)
{
    if ( $user->isAdmin() ) {
        return redirect()->route('admin_dashboard');
    }
    elseif ($user->isSuperadmin()) {
        return redirect()->route('superadmin_dashboard');
    }
    else{
        return redirect()->route('dashboard');
    }

}

它的工作正常,如果我登录管理员它重定向到 admin_dashboard,但是这个问题是,如果我 关闭这个浏览器并运行 localhost:8000,它的重定向到 home 不是 admin_dashboard

我的问题,如果以管理员身份登录并关闭浏览器并运行 localhost:8000 ,我如何设置它会进入 admin_dashboard ?

【问题讨论】:

    标签: laravel permissions


    【解决方案1】:

    我认为您应该根据角色名称创建多个警卫,例如“admin”、“superamdin”。

    这是在 laravel 中创建 multiauth 的链接。 https://www.youtube.com/watch?v=iKRLrJXNN4M&t=1s

    创建多个保护后,您可以使用中间件重定向经过身份验证的用户。

    public function handle($request, Closure $next, $guard = null)
    {
        switch ($guard) {
            case 'admin':
                if (Auth::guard('admin')->check()) {
                    return redirect()->route('admin.dashboard');
                }
                break;
    
            case 'superadmin':
                if (Auth::guard('superadmin')->check()) {
                    return redirect()->route('superadmin.dashboard');
                }
                break;
    
            default:
                //user gaurd
                if (Auth::guard($guard)->check()) {
                    return redirect('/');
                }
                break;
        }
    
        return $next($request);
    }
    

    第二个选项

    将身份验证详细信息存储在 cookie 中,并且在启动应用时只需检查一次以进行相应的重定向。

    【讨论】:

    • 我只需要管理员和超级管理员的 make 保护?
    • 不只是守卫,还要注册和登录控制器......如果你想要源代码我可以给你
    • 你能给我吗?我这里有问题
    • 你能给我你的邮件ID吗?
    • adhik13th@gmail.com
    猜你喜欢
    • 1970-01-01
    • 2021-10-16
    • 2019-07-01
    • 1970-01-01
    • 2021-05-09
    • 2013-12-07
    • 2023-02-24
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多