2017-12-12 16 views
0

LaravelにPassportを使用して認証を行い、spatie/laravel-アクセス許可機能を追加するAPIをセットアップしました。私もLaravelで書かれた呼び出しアプリケーションを持っています。私は呼び出し元のアプリケーションからAPIに認証することができますが、呼び出し元のアプリケーションが利用可能なアクセス権を知っていることを確認するにはどうすればよいですか? apiと呼び出し側のアプリケーションで、ユーザー/ロール/権限テーブルはどのように見えるのですか? 本質的に私は両方のアプリケーションで$ user-> can( 'do something')のようなコードを使いたいと思います。Laravel APIと呼び出しアプリケーションでアクセス許可を使用する方法

答えて

0

私はspatieパッケージを "$ user-> can( 'do something')"というようなコード呼び出しをして、デフォルトの "role"という名前のテーブルを作成するgithubページを読むことができますパッケージをインストールした後に移行を実行すると、 "アクセス許可"と "アクセス許可"が表示されます。言い換えれば、両方のアプリケーションのモデルとデータベース接続を正しく設定することです。具体的には、両方のアプリケーションのUser ModelとPermissionテーブルです。

また、私はあなたの質問を理解していない場合は私は完全に修正してください、あなたは二つのことを尋ねていると思います!目標は助けるだけでなく答えることです:)

QUESTION二アプリは権限が利用可能であるかを知ることができますどのように1、あなたがする$ user-「のようなものを使用することができるだろうか

QUESTION 2>することができます( '何かをする')」という2つのアプリケーションで、まったく同じデータに触れています。

  1. "permission"テーブルと "role"テーブルがすでに存在する場合は、既存のロールまたはアクセス許可を要求するエンドポイントがAPIにない場合は、新しいものを定義します。たとえば、Permissionテーブルに「getPermissions」などの情報を要求し、2番目のアプリケーションが呼び出すことができるAPI呼び出し(API経由でデータベース自体に問い合わせる必要があります)、または2番目のアプリケーションから取得する必要があります。 2つのアプリケーションが互いにどのように相互作用するかによって異なります
  2. "User"モデルが、最初のアプリケーションがUserモデル用に使用するテーブルと同じテーブルを参照するように、 。基本的に、モデルはテーブルへのインターフェイスとして使用されているため、両方のアプリケーションに同じテーブルを参照する定義済みのUserモデルがあり、両方がテーブルがある同じデータベースに接続するように設定されている場合、Laravelのユーザーモデルは " "問題のデータ(これはLaravelのEloquent for Modelsの基礎です)。

さらに、私はspatie/laravel-permissionパッケージを使用していませんが、質問#1に関しては、現在作成されているドキュメント「許可テーブル」からリスト形式で権限:

Permission Model, getPermissions

と参照のため、Laravelの雄弁とモデル(あなたが既に知っているものになるかもしれないが、私はとにかくこのリンクを残しておきます)について:

Laravel Eloquent ORM

関連する問題