'springSecurityFilterChain'という名前のBeanが定義されていません
No Bean Namedspringsecurityfilterchainis Defined
1.問題
この記事では、SpringSecurityの構成の問題について説明します。アプリケーションの起動プロセスで次の例外がスローされます。
SEVERE: Exception starting filter springSecurityFilterChain org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' is defined
2.理由
この異常の理由は非常に Simple-Spring Security springSecurityFilterChain(デフォルト)という名前のBeanを検索しましたが、見つかりませんでした。 web.xmlのメインのSpringSecurityフィルター(DelegatingFilterProxy) このBeanを定義します。
springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /*
これは単なるプロキシであり、すべてのロジックがspringSecurityFilterChainBeanに委託されます 。
3.解決策
このコンテキストの欠如の最も一般的な理由は、セキュリティXMLBean構成が定義されていないことです。 彼:
@ImportResource({'classpath:springSecurityConfig.xml'})
XML構成名前空間Securityを使用する場合-上記の例に示すように、宣言により、フィルターBeanを作成するための単純な要素が保証され、すべてが正しく開始されます。
springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy targetBeanName customFilter
もう1つの考えられる原因は、セキュリティ構成がWebアプリケーションの全体的なコンテキストにインポートされないことです。
万一に備えて springSecurityConfig.xmlという名前のセキュリティXML構成ファイル、必ず大文字をインポートしてください ソース:
|_+_|
またはXMLを使用します。
|_+_|
最後に、web.xml Beanでフィルターのデフォルト名を変更できます。多くの場合、SpringSecurityで既存のフィルターを使用します。
4.まとめ
この 非常に具体的なSpringSecurityの問題(フィルターチェーンBeanの欠如)について説明し、一般的な問題の解決策を示しました 。