2016-02-27 10 views
14

Spring OAuth2をSpring MVC RESTに統合しようとしています。ほとんどのOAuth2の例では、ResourceServerConfigurerAdapterしかなく、一部にはWebSecurityConfigurerAdapterもあります。私は、OAuthをGoogle、Facebookなどと統合するつもりはありません。現在、Basic認証に基づいているSpring MVC RESTのトークンベースの認証を提供しようとしています。誰かが私にexaplinが必要ですか、または良いリソースがSpring MVC REST + OAuthの統合を単一のサーバーで理解することはできますか?WebSecurityConfigurerAdapterとResourceServerConfigurerAdapterの関係

現在、私のPOCはWebSecurityConfigurerAdapterなしで動作しますが、ResourceServerConfigurerAdapterAuthorizationServerConfigurerAdapterがあります。それはResourceServerConfigurerAdapterのように見えます。現在、Spring MVC RESTアプリケーションで完全に動作している私の既存のWebSecurityConfigurerAdapterにどうすればいいのか分かりません。

答えて

10

これは良い回答ですhttps://stackoverflow.com/a/28604260、それはWebSecurityConfigurerAdapterがResourceServerConfigurerAdapterより劣っているようです。

私はWebSecurityConfigurerAdapterとResourceServerConfigurerAdapterを持っていますが、エンドポイントのセキュリティ設定は、下ResourceServerConfigurerAdapterである:

public void configure(HttpSecurity http) throws Exception { 

私はまた、以下の構成があります。そうでなければ

security: 
    oauth2: 
     resource: 
      filter-order: 3 

に、エンドポイントのセキュリティ設定をされて無視された(私は理由を知らない)。

+0

これは私にとっても役立ちました。これで、私は 'WebSecurityConfigurerAdapter'を一切必要としません。 - ' ResourceServerConfigurerAdapter'はすべてを行います。 3回のテストで 'logging.level.org.springframework.security:DEBUG'というフィルタチェーンを観察しました。 1. "Resource * only" 2. "Resource * and Web *" 3. "Resource * and Web *および' filter-order' "。ケース1とケース3の場合、フィルタチェーンは12-lengthで、OAuth2AuthenticationProcessingFilterが含まれていました。ケース2の場合、フィルタチェーンは14長であり、 'OAuth * Filter'を除き、' User * Password * Filter'のようなフィルタになります。 – Birchlabs

+0

解決策が見つかった場合は、私に知らせてください。私は同じ問題を抱えています。ここで私の質問https://stackoverflow.com/questions/47627226/basic-auth-oauth-implementation-in-spring-boot –

+0

私は良い答えだと思います、しかし、オアフの初心者である、私はこの答えに来るWebSecurityConfigurerAdapterは、WebSecurityConfigurerAdapterの前にResourceServerConfigurerAdapterを処理できるかのように、ResourceServerConfigurerAdapte'_よりも劣るオーダーです。明確にするために、WebSecurityConfigurerAdapterは** ResourceServerConfigurerAdapterより**高い優先順位**を持つようです。 – kavrosis

関連する問題