0
많은 경로 앞에/org/{id}가 붙는 휴식 API가 있습니다. 이 접두사는 중첩 된 데이터의 범위를 지정하며 사용자가 조직의 구성원인지 확인해야합니다. 미들웨어가 이러한 검사를 실행하고 요청의 나머지 부분에서 액세스 할 수있는 orgcontext 클래스를 초기화하는 가장 좋은 장소가 될까요?Laravel rest API 미들웨어
많은 경로 앞에/org/{id}가 붙는 휴식 API가 있습니다. 이 접두사는 중첩 된 데이터의 범위를 지정하며 사용자가 조직의 구성원인지 확인해야합니다. 미들웨어가 이러한 검사를 실행하고 요청의 나머지 부분에서 액세스 할 수있는 orgcontext 클래스를 초기화하는 가장 좋은 장소가 될까요?Laravel rest API 미들웨어
미들웨어 아마 그 검사를 할 수있는 완벽한 장소입니다 :
<?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);
}
}
있습니까 개 이상의 조직의 사용자가 일반적으로 멤버? – ceejayoz
@ceejayoz 예. 프런트 엔드에는 어떤 기관에서 근무하고 있는지를 변경하는 기능이 있습니다. 각도 스파이며 사용자가 다른 탭에서 다른 조직에서 작업 할 수 있도록 현재 저장소 ID를 저장하기 위해 세션 저장소를 사용하고 있습니다. –