我有一个示例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调用,尽管过滤器似乎初始化正常。一直试图弄清楚可能出现的问题,并且已经浪费了我今天的大部分时间。任何指针都会有所帮助!提前谢谢!
答案 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();