web-dev-qa-db-ja.com

Spring Dataでの認証と承認REST

Spring Data REST ベースのアプリを実装していますが、このフレームワークまたは関連するフレームワークを使用して認証および承認ルールを実装するエレガントな方法があるかどうかを知りたいです。

RESTサーバーへのすべてのHTTP要求は認証ヘッダーを保持する必要があります。HTTPメソッドおよび認証されたユーザーと要求されているリソースとの関連付けに基づいて、それらを確認し、承認するかどうかを決定する必要があります。たとえば、(アプリはREST eラーニングシステムのサーバーです)、インストラクターは自分のコースセクションにのみアクセスでき、学生は購読しているコースセクションにのみアクセスできます。

Spring Data RESTに認証を実装するデフォルトの方法があるかどうか知りたいです。答えが「いいえ」の場合、私の問題について提案してもらえますか?私は考えています:

  • サーブレットフィルター
  • 春のセキュリティ
  • Spring Data REST Handlers(HTTPヘッダーにアクセスする方法?)
29
Rodrigo Guerra

最善の策は、Spring Securityです。それはあなたが認可を達成するのを助けることがはるかに簡単な方法です。

Spring Securityでは、リクエストヘッダーを調べてプログラムでログイン操作を実行する実装が必要です。

ここで受け入れられた答えを参照してください。私は同じに従い、RestEasyを使用して構築された残りのサービスの前にセキュリティ層を実装しました。

Spring経由のRESTful認証

代替方法もあります。 http://www.baeldung.com/spring-security-authentication-provider を参照してください

どちらの場合も、春のセキュリティでステートレス認証を宣言することでセッションの作成を無効にできます。これにより、ステートレスREST=サービスに対して大量のヒットが発生した場合のパフォーマンスが大幅に向上します。 。

14
Rakesh Waghela