2017-03-13 138 views
0

我试图重定向登录到另一个页面。Laravel登录重定向

即使在登录控制器中显示'/ welcome',它现在也会重定向到'/'。 (使用laravel的默认认证)。

它看起来像完全忽略了登录控制器。

LoginController.php

<?php 

namespace App\Http\Controllers\Auth; 

use App\Http\Controllers\Controller; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 

class LoginController extends Controller 
{ 
    /* 
    |-------------------------------------------------------------------------- 
    | Login Controller 
    |-------------------------------------------------------------------------- 
    | 
    | This controller handles authenticating users for the application and 
    | redirecting them to your home screen. The controller uses a trait 
    | to conveniently provide its functionality to your applications. 
    | 
    */ 

    use AuthenticatesUsers; 

    /** 
    * Where to redirect users after login. 
    * 
    * @var string 
    */ 
    protected $redirectTo = '/welcome'; 

    /** 
    * Create a new controller instance. 
    * 
    * @return void 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest', ['except' => 'logout']); 
    } 
} 

,因为它似乎像它完全无视登录控制器,我对如何甚至可以登录困惑。

+0

你的意思是它重定向到'/'** **后登录成功? – Paras

+0

是的,多数民众赞成在我的意思是,它很奇怪,因为它说重定向/欢迎 –

回答

0

根据您使用的Laravel版本,此解决方案可能适用于您。

在App \ Http \ Middleware部分中,查看RedirectIfAuthenticated文件。

你会发现一个handle()方法,它在用户重定向后重定向。

更新重定向,你应该很好去。

+0

我也研究过这个。 '<?php namespace App \ Http \ Middleware; 使用关闭; 使用Illuminate \ Support \ Facades \ Auth; class RedirectIfAuthenticated { /** *处理传入的请求。 * *参数\照亮\ HTTP \ $申请要求 *参数\ $闭幕未来 * @参数字符串|空$后卫 * @返回混合 */ 公共职能手柄($请求,关闭$下一,$ guard = null) { if(Auth :: guard($ guard) - > check()){ return redirect('/ home'); } return $ next($ request); } } ' –

+0

更新URL后的结果是什么?您可能想尝试使用某些Artisan功能清除任何缓存。 –

+0

更改该文件中的重定向并未实际改变重定向 –

0

您需要查看app/Http/RedirectIfAuthenticated.php以确定重定向请求的位置。

+0

这不起作用..我已经试过了这个 –

+0

好的,对不起。你确定用户已经登录吗?尝试在您认为已登录后重定向到的页面上执行'dd(auth() - > user())'。 –

+0

是的,我确定用户已登录。我们可以使用auth )-user() –

0

我修好了。

问题是,

protected function authenticated(Request $request, $user) 
{ 
    return redirect('/auth'); 
} 

是以前空...