2 votes

Utilisation de jcifs dans jetty embarqué dans cxf avec spring

J'ai un exemple de service JAX-RS qui est exposé via l'impressionnante directive jaxrs:server via cxf + spring. Je voulais configurer le jetty sous-jacent démarré pour définir également le nom d'utilisateur via jcifs et j'ai recours à la configuration via la directive httpj de cxf à nouveau.

<httpj:engine-factory bus="cxf">
    <httpj:engine host="#{inetAddress.hostName}" port="${com.kilo.restful.port}">
        <httpj:handlers>
            <bean class="org.eclipse.jetty.servlet.ServletContextHandler">
                <property name="servletHandler">
                    <bean class="org.eclipse.jetty.servlet.ServletHandler">
                        <property name="filters">
                            <list>
                                <bean
                                    class="org.eclipse.jetty.servlet.FilterHolder">
                                    <property name="name" value="NTLMFilter" />
                                    <property name="filter">
                                        <bean class="jcifs.http.NtlmHttpFilter"/>
                                    </property>
                                    <property name="initParameters">
                                        <map>
                                            <entry key="jcifs.http.domainController" value="domaincontroller.kilo.com" />
                                        </map>
                                    </property>
                                </bean>
                            </list>
                        </property>
                        <property name="filterMappings">
                            <list>
                                <bean class="org.eclipse.jetty.servlet.FilterMapping">
                                    <property name="pathSpec">
                                        <value>/*</value>
                                    </property>
                                    <property name="filterName" value="NTLMFilter" />
                                </bean>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </httpj:handlers>
    </httpj:engine>
</httpj:engine-factory>

Cependant, je ne vois pas le contrôle atteindre l'appel doFilter de NtlmFilter bien que le filtre semble être initialisé correctement. J'ai essayé de comprendre ce qui ne va pas et j'ai déjà perdu la majeure partie de ma journée. Tout conseil sera le bienvenu ! Merci d'avance !

1voto

Kilokahn Points 1204

J'ai découvert sur la liste de diffusion que ce n'est pas le cas. soutenu . J'ai dû passer à l'utilisation du fichier web.xml (placé dans src/main/webapp).

    Server server = new Server(portNumber);
    WebAppContext root = new WebAppContext();
    root.setContextPath("/");
    root.setWar("src/main/webapp");
    server.setHandler(root);
    server.start();
    server.join();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X