L5.5 路由如何组合 group namespace middleware prefix ?

Route::middleware('CheckAdminLogin')->prefix('dashboard')->namespace('Dashboard')->group(function () {

    Route::any('/', 'IndexController@index')->name('dashboard.index'); //首页
    Route::any('/login', 'IndexController@login')->name('dashboard.login'); //登陆
    Route::any('/logout', 'IndexController@logout')->name('dashboard.logout'); //退出登录

});

这样写总是提示我:ErrorException thrown with message "Trying to get property of non-object"

我写了个 CheckAdminLogin.php 在 App\Http\Middleware 下,内容如下:

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;

class CheckAdminLogin
{

    protected $except = [
        '/dashboard/login'
    ];

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if(!$request->session()->has('admin_id') ||  !$request->session()->has('allow_login') &&  $request->session()->get('allow_login') == 1) {
            return route('dashboard.login').'?return_url='.$request->fullUrl();
        }

        return $next($request);
    }    

}

并且在 Kernel.php 中的 $routeMiddleware 中注册:

'CheckAdminLogin' => \App\Http\Middleware\CheckAdminLogin::class,

刚刚接触laravel的小白,请多指教。

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 2

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!