2017-05-17 17 views
0

だから私はいくつかの理由で私のSTATELESS角度アプリは単一のGET要求を送信するが、いくつかの理由で、いくつかの春のブートセキュリティコードがあります。 Spring Securityは2つのリクエストを受け取り、2つのスレッドで同じミリ秒で処理を開始するように見えます(同じユーザーをDBに2回追加しようとすると、ユニークなユーザー制約が発生します)。AuthenticationProviderでセッションが重複して複製されますか?どうして?

ダブルリクエストが発生している私の春のセキュリティ設定に何か問題がありますか? Spring Securityは基本的に、X-AUTH-TOKENのステートレスアプリからのすべてのリクエストをチェックする必要があります。

http 
      .authenticationProvider(authenticationProvider) 
       .addFilterBefore(new HeaderAuthenticationFilter(), BasicAuthenticationFilter.class) 
       //.addFilterBefore(new CorsFilter(request -> corsConfiguration), HeaderAuthenticationFilter.class) 
       .authorizeRequests() 
       .antMatchers("/").permitAll() 
       .anyRequest() 
       .authenticated() 
       .and() 
       .csrf().disable() 
       .exceptionHandling().accessDeniedPage("/error"); 

基本的にHeaderAuthenticationProviderとHeaderAuthenticationFilterは、X-AUTH-TOKENをチェックするために使用されています。

2017-05-17 19:46:41.868 INFO 5 --- [nio-8443-exec-8] o.a.c.util.SessionIdGeneratorBase  : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [13,338] milliseconds. 
2017-05-17 19:46:41.868 INFO 5 --- [nio-8443-exec-1] o.a.c.util.SessionIdGeneratorBase  : Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [8,315] milliseconds. 
2017-05-17 19:46:41.872 INFO 5 --- [nio-8443-exec-8] m.d.f.a.HeaderAuthenticationProvider  : Authenticate:: Authorization Token: bf6bbb6f5a850fb7b152b5e143534e5bd13a96abd3250d2 
2017-05-17 19:46:41.872 INFO 5 --- [nio-8443-exec-1] m.d.f.a.HeaderAuthenticationProvider  : Authenticate:: Authorization Token: bf6bbb6f5a850fb7b152b5e143534e5bd13a96abd3250d2 

答えて

0

まだこの問題があるかどうかわかりません。私は前に同様の問題を抱えていましたが、私の問題はSpringが2つのチェーン、1つのデフォルトと1つのカスタマイズを開始したためです。代わりに、すべてのフィルタが2回実行されました。あなたのログから、おそらく同様の問題があるように見えます。私がそれを解決した方法は、私のフィルターをOncePerRequestFilterまで広げることでした。

関連する問題