Laravel:我可以在除身份验证过滤器之外的过滤器中使用Redirect ::

时间:2014-06-28 14:00:04

标签: php laravel

关于Laravel文档中Authenticating Users的这一部分说:

  

Redirect :: expected函数会将用户重定向到他们在被身份验证过滤器捕获之前尝试访问的URL。

我可以将它与其他过滤器一起使用吗?

Route::filter('auth_role_set', function()
{
    if (! Session::has('auth_role')) return Redirect::to('roles');
});

并在控制器中:

public function roles()
{
    $user = Auth::user();
    $roles = explode(',', $user->roles);

    if (count($roles) == 1)
    {
        Session::put('auth_role', $user->roles);
        return Redirect::intended('/');
    }
}

1 个答案:

答案 0 :(得分:1)

拉斐尔已经提到过,你需要使用Redirect::intended()

的步骤
    在您的 filters.php 中使用Redirect::guest('/role') 将用户重定向到您的角色设置页面 控制器中的
  • 使用Redirect::intended('/fallback-url')

最后,用户将在第一页开始/role重定向。