在 Laravel 5.2 中创建新用户角色
Creating new user role in Laravel 5.2
除了用户和管理员之外,我正在尝试在 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
中间件访问路由时,它显示
ReflectionException in Container.php line 734: Class
originating_point_user does not exist
路线:
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
中定义的提及页面
在您的内核文件中,您已将中间件注册为 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,
];
除了用户和管理员之外,我正在尝试在 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
中间件访问路由时,它显示
ReflectionException in Container.php line 734: Class originating_point_user does not exist
路线:
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
在您的内核文件中,您已将中间件注册为 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,
];