2017-11-03 5 views
0

私はapiをビルドしています。私は実際には、リソースを許可せずにユーザーを適切にブロックする方法を見つけようとここで立ち往生しています。私はすでにテーブルのユーザー、ロール、role_user、permissions、role_permissionsを作成しました。 Googleで検索したときに、GateAuthServiceProviderの中で使用する方法、またはミドルウェアを使用する方法がわかりました。私の質問は、APIを使ってlaravelでそれを行う最良の方法は何ですか?私の会社では、ユーザーは1つ以上の役割を持つことができ、ユーザーは個別の権限も持つことができます。また、いくつかのACLパッケージを試しましたが、いくつかの特定の問題があります。いくつかのメソッドは、laravel 5.5で廃止されました。あるいは、ドキュメントの使用方法がわかりません。自分自身で論理を試してみましたが、ユーザーが許可を与えていない場合、リソースへのアクセスをブロックする方法の問題に悩まされています。laravelでリソースへのアクセス権を持たないユーザーをブロックする方法はありますか?

+0

ミドルウェアを使用したと間違って何? – madalinivascu

+0

https://cartalyst.com/manual/sentinel/2.0#permissionsパッケージを確認できます。 –

+0

私はmiddlewaresに何の問題もありません、私の問題は、リソースのURLと一致するアクセス許可をリソースをブロックするロジックを構築することです –

答えて

0

パブリックフォルダ(ストレージフォルダ)からの任意のリソースに対してLaravelは自己アクセスをブロックします。 さらに、ルートを要求するユーザーをチェックし、リソースを返すかどうかを決定するミドルウェアを作成することができます。

0

この目的でミドルウェアを使用できます。詳しくは

のためのチェックアウトhttps://laravel.com/docs/5.5/middlewareあなたがミドルウェアを作成したら、あなたが行うことができます。

Route::group(['middleware'=>'yournewmiddlewarename'], function() { 
    Route::resource("url", ...); 
} 
関連する問題