Authentication LARAVEL 5:在身份验证重定向后需要保留查询字符串

Authentication LARAVEL 5:在身份验证重定向后需要保留查询字符串,authentication,redirect,laravel-5,Authentication,Redirect,Laravel 5,我有一个通过电子邮件发送的链接。例如,www.swings.com/worker?id=3382&tok=jfli3uf 在本例中,我希望用户单击链接,发送到登录页面(确实如此),然后被定向到带有$id和$tok变量的控制器方法。我不能让那部分工作。有什么想法吗?我只使用RedirectIfAuthenticated类,它看起来是这样的: public function handle($request, Closure $next) { $user = $request->user

我有一个通过电子邮件发送的链接。例如,www.swings.com/worker?id=3382&tok=jfli3uf

在本例中,我希望用户单击链接,发送到登录页面(确实如此),然后被定向到带有$id和$tok变量的控制器方法。我不能让那部分工作。有什么想法吗?我只使用RedirectIfAuthenticated类,它看起来是这样的:

public function handle($request, Closure $next)
{
    $user = $request->user();
    if ($this->auth->check()) {
        if($user && $user->hasRole('worker'))
        {
            return redirect('worker');
        }
        return redirect('home');
    }
    return $next($request);
}

hasRole是我在用户模型中创建的一种方法,用于检查登录用户的角色

当通过链接with()方法重定向时,您可以将数据闪存到会话:


通过链接with()方法,可以在重定向时将数据闪存到会话:


几个小时后,我有了一个解决方案:

returniAuthenticated未更改。我刚刚在控制器中添加了以下链接:

例如,路线将是:

Route::get('worker', 'WorkerController@methodINeed');
在此方法中:

public function methodINeed() {
    $id = Input::get('id');
    $tok = Input::get('tok');
// Do what I need this variables to do
}

我不理解,也不能正确理解的是,Laravel 5中的auth控制器是在用户是来宾时触发的,一旦auth成功,它仍将重定向到实际方法及其所有原始数据。希望这有帮助。

几个小时后,我找到了一个解决方案:

returniAuthenticated未更改。我刚刚在控制器中添加了以下链接:

例如,路线将是:

Route::get('worker', 'WorkerController@methodINeed');
在此方法中:

public function methodINeed() {
    $id = Input::get('id');
    $tok = Input::get('tok');
// Do what I need this variables to do
}

我不理解,也不能正确理解的是,Laravel 5中的auth控制器是在用户是来宾时触发的,一旦auth成功,它仍将重定向到实际方法及其所有原始数据。希望这有帮助。

这不起作用。返回null。还有别的办法吗?当用户单击他登录的链接并继续访问与该链接相关的实际页面时,我不想要任何其他内容。为什么要把一切都弄清楚。我已经为链接设置了路由,所以如果他们已经登录,它将工作,但这不工作。返回null。还有别的办法吗?当用户单击他登录的链接并继续访问与该链接相关的实际页面时,我不想要任何其他内容。为什么要把一切都弄清楚。我已经为链接设置了路由,因此如果他们已经登录,它将工作