私たちのアプリケーションは、sparkjava http://sparkjava.com/をRESTフレームワークとして使用しています。 jettyサーバーはアプリケーションに組み込まれています(デフォルトはsparkjava)。また、依存性注入にはスプリングを使用しています。ワッフルを統合する方法NegotiateSecurityFilter spring-securityとsparkjava埋め込み桟橋?
AD認証を提供するために、ワッフルのNegotiateSecurityFilterを統合する必要があります。
ワッフルのドキュメントおよびstackoverflowを含むいくつかのオンラインリソースによれば、名前springSecurityFilterChainのDelegatingFilterProxyが必要です。
は、しかし、我々は春MVCを使用していないため、私は次のようにそれを追加する必要があります。
ServletContextHandler sparkContext = new ServletContextHandler(ServletContextHandler.SESSIONS);
sparkContext.addFilter(new FilterHolder(new DelegatingFilterProxy("springSecurityFilterChain")),"/*", EnumSet.allOf(DispatcherType.class));
をとのContextLoaderListenerがすでに存在しないため、次のように追加する必要があります。
sparkContext.addEventListener(new ContextLoaderListener());
しかし、サーバーの起動時に、すでに「ルートアプリケーションのコンテキストが存在するためコンテキストを初期化できません - 複数のContextLoaderがあるかどうかを確認できません」というエラーが表示されます。
春のセキュリティDelegatingFilterProxyとjettyとsparkjavaが組み込まれている場合(スプリングMVCを使用しない場合)、このシナリオの解決方法を教えてください。