Spring 4を使用してREST APIを開発しています。SpringSecurityを使用してエンドポイントの一部を保護したいのですが、読んだ内容に基づいて@EnableGlobalMethodSecurity
または@EnableWebSecurity
。残念ながら、これらについて見つけたドキュメントは、それらが何をするのか(またはどのように比較するのか)を明確に説明していません。 Spring REST APIを、標準のリレーショナルデータベースで宣言されたデータと関係に基づく認証と承認で保護したい場合、Spring 4でこれを達成するための推奨方法は何ですか?
EnableWebSecurity
は、 HttpSecurity を使用して構成を提供します。XML構成で_<http></http>
_タグで見つけることができる構成を提供します。URLパターン、認証エンドポイントに基づいてアクセスを構成できます。 、ハンドラーなど...
EnableGlobalMethodSecurity
はメソッドにAOPセキュリティを提供し、有効にするアノテーションの一部はPreAuthorize
PostAuthorize
であり、 JSR-25 のサポートもあります。 設定には他にもパラメータがあります
ニーズに合わせて、2つを混合することをお勧めします。 RESTを使用すると、HttpSecurity#antMatchers(HttpMethod,String...)
はHttpメソッドの制御を受け入れるため、_@EnableWebSecurity
_でのみ必要なすべてを達成できます。