プロジェクトでは、Spring Security 3.2を基本セキュリティとして使用しようとしています。このプロジェクトは既に稼働しているため、私はすでに他の(独自の)セキュリティ層を持っています。そこで私はセキュリティ層を溶かすカスタム認証プロバイダを作った。カスタム匿名認証(Spring Security Documentation, chapter 13)を作成する必要があるまで、正常に動作します。カスタム認証フィルタSpring Security 3.2
だから私は、カスタムフィルタを作り、のorignalフィルタ削除:問題があることである
public class SecurityAnonymousAuthenticationFilter extends GenericFilterBean implements InitializingBean {
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
logger.info("Entering doFilter method");
//implementation code here
}
//other methods
}
:豆
<http request-matcher="regex" use-expressions="true">
<anonymous enabled="false" />
<custom-filter ref="anonymousAuthFilter" position="ANONYMOUS_FILTER"/>
...
</http>
を:
<beans:bean id="anonymousAuthFilter" class="own.package.auth.SecurityAnonymousAuthenticationFilter">
<beans:property name="key" value="anonymousKey "/>
<beans:property name="userAttribute" value="anonymous,ROLE_ANONYMOUS"/>
</beans:bean>
とTE JavaクラスをdoFilterメソッドは、サーバーを要求するときに呼び出されません。しかし、initメソッドafterPropertiesSet()が呼び出されています...誰も私のcustomFilterが起動されていない理由を理解していますか?
P.S. web.xmlファイルにdelegatingFilterProxyという名前を付けていますので、それは問題ではありません。
カスタムフィルタを他の位置に挿入してください(例:** after = "ANONYMOUS_FILTER")。 ** anonymous enabled = "false" **はフィルタ位置によって動作しますか? –
@MaksymDemidas:コメントのThx、残念ながら、何も変更されません。 –
削除してみましたか?** anonymous enabled = "false" **? –