在春天使用cxf嵌入式码头中的jcifs

时间:2013-05-27 16:10:40

标签: spring jetty cxf embedded-jetty jcifs

我有一个示例JAX-RS服务通过cxf + spring通过awesome jaxrs:server指令公开。我想配置启动的底层jetty也通过jcifs设置用户名,并且再次通过cxf的httpj指令配置它。

<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>

但是,我没有看到控件到达NtlmFilter的doFilter调用,尽管过滤器似乎初始化正常。一直试图弄清楚可能出现的问题,并且已经浪费了我今天的大部分时间。任何指针都会有所帮助!提前谢谢!

1 个答案:

答案 0 :(得分:1)

从邮件列表中发现,这不是supported。我不得不切换到使用web.xml(放在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();