0

Spring MVC 3.0 で実装されたアプリケーションを既に持っています。ここで、ビジネスロジックが1つのアプリケーションに残り、Webレイヤーが別のアプリケーションに残るように、このアプリケーションを安らかなアプリケーションに変換したいと考えています。

Rest を使用してこれを実現するために、Web レイヤーは REST クライアントとして機能し、ビジネス ロジックの実装に関連するアプリケーションによって公開されるサービスにアクセスします。

私が混乱している点は、このためにログインをどのように実装する必要があるかです。

REST POST リクエストで Web アプリケーションからサービス アプリケーションにログイン資格情報を送信し、その後のリクエストを承認する jsessionid として機能する ID を維持する必要がありますか?

または、すべてのリクエストを認証して承認する必要があります

または、この種の要件を達成するためにSpringによってすでに提案されている設計パターンはありますか。

これについての知識を持っている人は誰でも私を助けることができますか?

4

1 に答える 1

0

RESTWebレイヤーと「通常の」/クライアントWebレイヤーの両方で認証が必要です。これについて考える最も簡単な方法は、現在の状況では、RESTAPIのクライアント側とサービス側の両方を作成するという事実を無視することです。代わりに、クライアント接続が外部ソースからのものであると考えてください。

これにより、RESTサービスがすべてのリクエストを認証する必要があることが明確になります。通常、HTTP基本認証を使用して各要求を個別に認証します。データの機密性が高い場合、またはその他の理由で資格情報を保護する必要がある場合は、SSLを使用できます。これらの資格情報を取得する場所は、おそらくアプリケーション固有です。

ある種のAPIキーを持つことは一般的なパターンであり、クライアントはキーで自分自身を認証しますが、クライアントのユーザーはAPIによって個別に認識されません。APIがこれらのユーザーについて何かを知っている限り、クライアントユーザーのクレデンシャルがAPIへのリクエストごとに送信される一種のパススルー認証を実装することもできます。この場合、ユーザーはクライアント(すでに実装されているWebアプリ)を使用するか、APIを直接使用することができます。

于 2012-02-14T21:38:55.977 に答える