私はAbstractAuthenticationProcessingFilter
を拡張するフィルタを持っています。私は以下の持っているセキュリティ設定のクラス、フィルタはSpringブートプロジェクトで2回呼び出されます
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.addFilterBefore(getMyFilter(), BasicAuthenticationFilter.class);
http.addFilterAfter(getMyFilter2(), MyFilter.class);
http.csrf().disable().authorizeRequests().antMatchers(HttpMethod.OPTIONS, "/**").permitAll();
}
private MyFilter getMyFilter() {
return new MyFilter(properties, apiConsumer);
}
で
私は郵便配達してRESTエンドポイントを呼び出すと、MyFilter
のdoFilter
方法は、二回のヒットを取得します。両方とも、ServletRequest
には同じrequestedSessionId
とstrippedServletPath
があります。
MyFilter2
がGenericFilterBean
に拡張されている場合は、1回のみ呼び出します。
フィルタの実行の順序はMyFilter.doFilter
ある - >MyFilter2.doFilter
- >MyFilter.doFilter
何の理由になり、どのように私は、根本的な原因を見つけることができますか?
。その注釈を削除すると、一度だけヒットする – Harshana