0

SpringSecurityが3層アーキテクチャでどのように機能するかを理解しようとしています。

システムが次のもので構成されていると仮定します:
WEB<-> APP<->DB

そして、ユーザーがDB層で定義されていること。

アプリケーションにどのように実装しますか?
私の理解から、私は次のことをすべきです:

  1. 層に独自の認証プロバイダーを作成しますWEB
  2. 認証プロバイダーは、APP層のサービスを呼び出して、DBに対して実際に資格情報を検証します。
  3. ユーザーが層のSpringSecurityモジュールを通過するWEBと、認証はなくなり、すべてのWEB->APP呼び出しは実際には認証されません。

最後の箇条書きは私には意味がないので、ドキュメントで何かを見逃したと思います。

私の質問-これは、3層のWebアプリにセキュリティを実装するためのSpringの方法ですか?それとももっと良い方法はありますか?

4

1 に答える 1

0

それはかなり標準的です。ほとんどの認証ロジックを に保持しますAPPが、WEBはクライアント/プロバイダーになります。

呼び出しが行われた後、それ以降の呼び出しは認証され、認証はセッションを使用して保持されます。セキュリティ xml ですべてのエンドポイントが認証を要求するように宣言している限り、ユーザーが認証されていない限り、エンドポイントにはアクセスできません (認証されていない場合、またはログインの有効期限が切れている場合は、指定されたパスに追い出されます)。 .

また、このような分野横断的な懸念を 3 層で考えることは当てはまらないと私は主張します。このDB部分は無関係であり、もう 1 つの分割は再利用を目的としており、リポジトリと統合を分離することになります。

于 2012-09-11T11:24:33.457 に答える