Как использовать промежуточное ПО для ограничения другого контента в зависимости от роли? Использование React Js и Laravel - PullRequest
1 голос
/ 01 мая 2020

В настоящее время я настраиваю роль на основе ролей и авторизацию контента. Однако у меня возникла проблема, когда я пытаюсь получить доступ к маршруту супер администратора по-прежнему доступны. Я использовал эту инструкцию https://medium.com/justlaravel/how-to-use-middleware-for-content-restriction-based-on-user-role-in-laravel-2d0d8f8e94c6 - но все еще не очень хорошо работает.

, чтобы хорошо понять, я поделюсь с вами тем, что предполагается выводом и моим примером кодирования на моем промежуточном ПО и API. . php

  1. У меня есть Middleware CheckRoleRouter. php
  2. Я создаю файл unauthorized.blade. php для нового ответа, если роль пользователя обращается по неверному маршруту.
  3. Я уже установил промежуточное ПО для ядра. php

Роль: у меня Super Admin = 0 и Admin = 1

Middleware:

    <?php

namespace App\Http\Middleware;

use Closure;
use Auth;

class CheckRoleRouter
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {

        //Role of users

        //Super Admin = 0
        //Admin = 1

        // how to make a middleware to prevent accessing other router based on their role.
        if ($request->user() && $request->user()->role != 0)
        {
            return new Response(view('unauthorized')->with('role', 'SUPERADMIN'));
        }


        return $next($request);
    }
}

API:

Route::group(['middleware' => 'App\Http\Middleware\CheckRoleRouter'], function()
{
    Route::get('list_offers','Api\BusinessOffersController@list_offers');
});

Ядро:

'checker' => \App\Http\Middleware\CheckRoleRouter::class,

Сессия : - это значит, что я использовал роль администратора, поэтому logi c - это маршрутизатор super_admin больше недоступен, потому что я использовал администратора.

local storage session role

Страница:

Super Admin Page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...