我试图在Laravel 5.2中创建一个新角色originating_point_user ,除了用户和管理员。 为此,我创建了一个名为OriginatingPointAuth的目录,其中有两个文件AuthController.php和PasswordController.php 。 还修改了kernal.php如下:
protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin' => \App\Http\Middleware\RedirectIfNotAdmin::class, 'origination_point_user' => \App\Http\Middleware\RedirectIfNotOriginationpointUser::class, ];和auth.php一样
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ], 'originating_point_users' => [ 'driver' => 'eloquent', 'model' => App\OriginatingPointUser::class, ] // 'users' => [ // 'driver' => 'database', // 'table' => 'users', // ], ],但是当我尝试使用originating_point_user中间件访问路由时,它会显示出来
Container.php第734行中的ReflectionException:类originating_point_user不存在
路线:
Route::group(['prefix'=>'originating-point-user'], function() { Route::group(['prefix'=>'loading-details'], function() { Route::get('/add', [ 'as' => 'opu.loading_details.create', 'middleware' => ['originating_point_user'], 'uses' => 'OrdersController@add_loading_details' ]); }); });此外,它不会重定向到AuthController.php中定义的提到的页面
I am trying to create a new role originating_point_user in Laravel 5.2, besides user and admin. For that I have created a directory called OriginatingPointAuth within which there are two files AuthController.php and PasswordController.php. Also modified the kernal.php as below :
protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin' => \App\Http\Middleware\RedirectIfNotAdmin::class, 'origination_point_user' => \App\Http\Middleware\RedirectIfNotOriginationpointUser::class, ];And auth.php as
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => App\User::class, ], 'admins' => [ 'driver' => 'eloquent', 'model' => App\Admin::class, ], 'originating_point_users' => [ 'driver' => 'eloquent', 'model' => App\OriginatingPointUser::class, ] // 'users' => [ // 'driver' => 'database', // 'table' => 'users', // ], ],but when I tried to visit a route using originating_point_user middleware, it shows
ReflectionException in Container.php line 734: Class originating_point_user does not exist
Route :
Route::group(['prefix'=>'originating-point-user'], function() { Route::group(['prefix'=>'loading-details'], function() { Route::get('/add', [ 'as' => 'opu.loading_details.create', 'middleware' => ['originating_point_user'], 'uses' => 'OrdersController@add_loading_details' ]); }); });Also , it does not redirect to mentioned page defined in AuthController.php
最满意答案
在您的内核文件中,您已将中间件注册为origination_point_user而不是originating_point_user 。 当调用中间件时,您使用originating_point_user进行调用。
protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin' => \App\Http\Middleware\RedirectIfNotAdmin::class, //change here originating_point_user 'originating_point_user' => \App\Http\Middleware\RedirectIfNotOriginationpointUser::class, ];In your kernel file you have registered your middleware as origination_point_user instead of originating_point_user . And when when calling the middleware you are calling with originating_point_user.
protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin' => \App\Http\Middleware\RedirectIfNotAdmin::class, //change here originating_point_user 'originating_point_user' => \App\Http\Middleware\RedirectIfNotOriginationpointUser::class, ];更多推荐
发布评论