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を保存するためにセッションストレージを使用しているので、ユーザーは別のタブでさまざまな組織で作業できます。 –