laravel 身份验证重定向

laravel authentication redirect

我是 Laravel 的新手,刚刚将身份验证包添加到现有项目中。

登录后,我希望被重定向到 /Result 一个我知道可以使用控制器工作的页面。如果我输入 URL /Result 页面加载正确但是当我登录时我每次都被重定向到索引而不是 /Result

路线

  Route::get('/result','ResultsController@getResults')->name('result');
  Auth::routes();
  Route::get('/', 'HomeController@index')->name('/');

家庭控制器

class HomeController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function index()
    {
        return view('result');
    }
}

结果控制器

class ResultsController extends Controller
{
    public function getResults( )
    {
        $results = Result::all();
        return view('/result', ['results' => $results]);
    } 
}

登录控制器

class LoginController extends Controller
{

use AuthenticatesUsers;

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

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

/**
 * @return 
 */
public function authenticated()
{
return redirect()->route('result');
}
}

到目前为止我可以加载索引并被重定向到登录,当我登录时我想被重定向到 /Result 但是我收到一个未定义的变量:结果。

我已通过操作 URL 跳转到 /Results 页面 /Results 确实有效。

任何帮助将不胜感激,如果您需要任何其他文件中的任何其他代码示例,请告诉我。

谢谢 詹姆斯

首先更改路由名称格式仅使用结果。

Route::get('/result','ResultsController@getResults')->name('result')

要重定向任何路由,您可以使用 LoginController 身份验证方法。 \App\Http\Controllers\Auth\LoginController.php

将此方法添加到该控制器:

/**
 * @return 
 */
public function authenticated()
{
    return redirect()->route('result');
}