成功登录后,使用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");
} }
答案 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');