【问题标题】:Creating new user role in Laravel 5.2在 Laravel 5.2 中创建新用户角色
【发布时间】:2016-12-08 20:52:04
【问题描述】:

我正在尝试在 Laravel 5.2 中创建一个新角色 originating_point_user,除了用户和管理员。为此,我创建了一个名为OriginatingPointAuth 的目录,其中有两个文件AuthController.phpPasswordController.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 行中的反射异常:类 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中定义的提到的页面

【问题讨论】:

  • 你有OriginatingPointUser的型号吗?
  • 是的,我有模特OriginatingPointUser.php

标签: authentication laravel-5.2 role


【解决方案1】:

在您的内核文件中,您已将中间件注册为 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,
    ];

【讨论】:

    猜你喜欢
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2017-06-08
    • 2023-04-02
    • 2016-08-30
    • 2016-07-30
    相关资源
    最近更新 更多