1

ZF2 で Restful Web Services (CURD) を構築しています。zf2 での安らかな Web サービスの構築に関する多くのリソースを見つけましたが、zf2 で acl を使用したユーザー認証に関するリソースは見つかりませんでした

Web サービスの一部として zf2 でACL を使用して認証と承認を実装するためのガイドが必要です。

すべてのユーザーには役割があり、すべての役割は限られたリソース (カード操作など) にアクセスできます。

ユーザーは、特定の役割の安静なサービスを使用して取得できるデータベースでの権限に従って、curd 操作を実行できます。

ただし、最初に、サービスを使用してクライアントのユーザー名とパスワードを認証し、成功すると許可されたリソースのリストを返す必要があります。これがカードのどこに収まるかはわかりません。HTTPダイジェストでcurlを使用してPostを使用し、jsonを返すことを計画しています(これは正しい方法ですか?それともより良い方法ですか?)

次に、これらのリソースはクライアント側コントローラーでの承認のために acl にロードされ、ユーザーの基本情報はさらに使用するためにセッションに保存されます。

すべての要求/アクションはクライアント アプリケーション内 (コントローラー内) で作成/実行され、コントローラー アクションは CURD 操作のために CURL を使用してサービスにアクセスします。

サービスに対するすべての Curl リクエストは、http ダイジェストを使用してさらに認証されます。

このように、Restfull サービスは Curd 操作のみを実行し、ACL はクライアント アプリケーションで処理されます。

zf2 aclで安らかなサービスとログイン認証と承認を実装した人はいますか。

抽象図は次のようになります。 ここに画像の説明を入力

私は以下を読みましたが、それが正しい方法であるかどうかはまだわかりません。上記のdoctrine2を使用したzf2に関する推奨される読書はありますか?

安らかなウェブサービスにログインする方法

安らかなログイン サービスの設計

4

1 に答える 1

0

クライアント アプリケーションから API サーバーへの認証を処理する必要がある場合は、パスワード許可タイプを使用してOauth2を使用してみてください。POST /oauthエンドポイントとして実装されます。その後、クライアントからの後続の各要求には、ユーザーを識別して ACL を適用するために使用できるAuthorizationヘッダーが含まれている必要があります。

ただし、ZF2 を使用しているため、そのためにApigilityを使用することを強くお勧めします。ZF2 とうまく統合され、認証と承認を処理し、多くのことを簡素化します。

于 2017-09-09T11:30:37.327 に答える