当前位置: 首页 > 知识库问答 >
问题:

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

单耘豪
2023-03-14

成功登录后,使用定义用户角色重定向,返回未定义路由的错误。

未定义InvalidArgumentException路由[列表活动]。

文件路径:vendor\laravel\framework\src\illumb\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");  });

注意:添加了web。管理文件夹中的php文件

我的路由管理\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个答案

公良琛
2023-03-14

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

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

在上述代码中,您的路线被命名为列出活动

但是在你的控制器里,你正在使用

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

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

//return redirect()->route('list-activity');
return redirect()->route('lists-activity');
 类似资料:
  • 当我在web.php中定义了路由时,我在使用Laravel时遇到了一个路由未定义的错误,如下所示: 我正在从下面的代码重定向到路由 auth()代码可以工作,但当调用重定向时,我得到错误'route[home]not defined'。有没有人知道我怎么解决这个错误。任何帮助都会很好

  • 我没有正确安装吗?我忽略了什么?

  • 嗨,我正在尝试从单个消息中提取多条消息,并使用拆分器元素将这些消息拆分为多条消息。但是我的拆分器抛出以下错误 2015-10-26 15:09:06,257[[ACTIVE]execute thread:' 0 ' for queue:' WebLogic . kernel . default(self-tuning)']ERROR org . spring framework . web . C

  • 我的ISP不允许我的cpanel托管的laravel站点具有自定义根文件夹(laravel结构中的公用文件夹)。 这意味着我不能让服务器将/public\u html/public作为根目录。它必须始终是/public\u html 根据他们的指导,我设置了以下/public\u html/。htaccess规则,使Laravel公用文件夹显示为根文件夹 这或多或少有效,但并不完全有效。问题是,如

  • 我们有Tomcat 9 Web服务器在生产中。我们面临的问题是,如果Tomcat收到任何格式错误的URL,我们希望显示我们应用程序的自定义错误页面,如下所示 http://URL/| 或 http://URL/[ 我在Tomcat应用服务器的web.xml中添加了错误页面标签,如下所示 我们在tomcat的webapps目录下的应用程序根文件夹中有error.html。 每当用户试图请求任何不存在

  • 我想循环存储过程的结果。我的代码: 我不明白为什么这是抛出必须声明c_curs的错误: 从命令-开始中的第7行开始时出错 结束<错误报告- ORA-06550:第2行,第24列: PLS-00201:必须声明标识符C_CURS