Laravel:从AuthenticatesUser文件重定向抛出错误路由未定义

时间:2018-01-18 05:08:35

标签: laravel laravel-5.5

成功登录后,使用define user role重定向,将返回未定义路由的错误。

  

InvalidArgumentException   Route [list-activity]未定义。

file path : vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUser.php

功能:

protected function authenticated(Request $request, $user)
{
    if($user->user_role=='Admin'){
        return redirect()->route('list-activity') ; // return error
    }elseif($user->role=='User'){
        return redirect()->route('front.welcome') ;
    }
}

我的web.php文件代码

Route::get('/', function () { return view('front.welcome'); });
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::middleware(['web', 'navigation'])->group(function () {
require_once("admin/web.php");  });

Note: Added web.php file on admin folder

我的路线admin \ web.php文件代码

 Route::middleware(['auth'])->prefix('admin')->namespace('Admin')->group(function() {
 Route::get('lists-activity','ActivityController@listactivity')->name('lists-activity'); });

这是我的控制器代码

namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller as BaseController;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;
class ActivityController extends BaseController
{
   public function listactivity() {
   dd("hello");
} }

1 个答案:

答案 0 :(得分:0)

您的命名路线与您的route()方法不匹配。

Route::get('lists-activity','ActivityController@listactivity')->name('lists-activity');

在上面的代码中,您的路线名为lists-activity

但在您的控制器中,您正在使用

return redirect()->route('list-activity');

要解决此问题,您必须在控制器的方法中替换路径的名称:

//return redirect()->route('list-activity');
return redirect()->route('lists-activity');