【问题标题】:Redirect back to requested page in laravel 5.3在 laravel 5.3 中重定向回请求的页面
【发布时间】:2017-04-18 09:28:50
【问题描述】:

我有 3 类用户,分别是客户、零售商和管理员。在客户方面,他们无需初始登录即可访问服务。但是,有些路线需要登录,例如购物车页面需要客户登录。我有一个数据库字符字段来查找用户表中的用户类型。成功登录后,我将重定向回不同用户类型的索引页面。但是假设一个尚未登录系统访问服务的客户突然单击需要授权的路由,然后它将重定向到用户可以登录的登录寻呼机。但是在登录之后,他们也被重定向回索引页面而不是请求登录的页面。我如何将其重定向回请求的页面。以下是代码块。谢谢

Web.php(这里只展示了一部分其他客户路由不在auth中间件中)

Route::group(['middleware' => 'auth'], function () {

Route::get('/cart','searchController@viewCart' );
Route::get('/cart/changeStatus','searchController@changeCartStatus' );

});

登录控制器认证功能

protected function authenticated($request, $user)
{
    if($user->type === 'c') {
        return redirect('/home');
    }
    else if($user->type === 'a') {
        return redirect('/admin/home');
    }
    else if($user->type === 'r') {
        return redirect('/retailer/home');
    }

}

【问题讨论】:

    标签: php laravel authentication redirect laravel-5


    【解决方案1】:

    Laravel 会为你保留它,你只需要:

    return redirect()->intended('home');
    

    home 是一个后备路由,所以你可以

    return redirect()->intended('/admin/home');
    

    【讨论】:

      【解决方案2】:

      你可以使用 return Redirect::back();

      【讨论】:

        猜你喜欢
        • 2014-02-13
        • 2017-06-25
        • 2019-07-24
        • 2017-04-19
        • 2017-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多