在Laravel 5.2中创建新用户角色(Creating new user role in Laravel 5.2)

编程入门 行业动态 更新时间:2024-10-27 03:42:55
在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中间件访问路由时,它会显示出来

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, ];

更多推荐

本文发布于:2023-08-01 21:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1365719.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:建新   中创   角色   用户   Laravel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!