2017-01-01 5 views
0

У меня есть API для отдыха, где множество маршрутов будет префикс/org/{id}. Этот префикс будет обладать вложенными данными, а также пользователю необходимо будет проверить, являются ли они членом организации. Будет ли промежуточное программное обеспечение лучшим местом для запуска этих проверок, а также инициализировать класс orgcontext, доступ к которому можно получить во всей остальной части запроса?Средство промежуточного уровня API для Laravel

+0

пользователей, как правило, находящимся в группе более одного орга? – ceejayoz

+0

@ceejayoz Да. В интерфейсе есть функциональность, чтобы изменить, в какой организации вы работаете. Это угловой спа-центр, и я использую хранилище сеансов для хранения текущего идентификатора org, чтобы пользователь мог работать в разных организациях на разных вкладках. –

ответ

1

промежуточное программный, вероятно, является идеальным место, чтобы сделать эти проверки:

<?php 

namespace App\Http\Middleware; 

use Closure; 
use App\Repositories\Eloquent\UserRepository; 

class CanAccessOrg 
{ 
    public function handle($request, Closure $next, UserRepository $userRepository) 
    { 
     if (! $userRepository->currentUserCanAccessOrg(Session::get('org'))) { 
      Auth::logout(); 

      return redirect()->route('login')->withErrors(['msg', 'You dont have access to this org']);; 
     } 

     return $next($request); 
    } 
} 
Смежные вопросы