2014-01-03 2 views
1

Работает над тем, чтобы запустить аутентифицированный веб-сервис Kerberos и, в то время как Apache CXF, похоже, соответствует моим требованиям. Я изо всех сил стараюсь начать все.Apache CXF - JAX-RS Security

хостинг на сервере Tomcat 7 и моих супер простых работ тест службы, но я не могу понять, как получить CXF для обеспечения безопасности:

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 

    @Path("test") 
    public class ItemResource { 

     public ItemResource() { 
     } 


     @GET 
     @Produces("application/json") 
     public String getJson(@QueryParam("name") int test) { 

      return "test"; 

     } 
    } 

web.xml

<servlet> 
      <init-param> 
       <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name> 
       <param-value>true</param-value> 
      </init-param> 
    <servlet-name>jersey-serlvet</servlet-name> 
    <servlet-class> 
       com.sun.jersey.spi.container.servlet.ServletContainer 
      </servlet-class> 
    <init-param> 
     <param-name>com.sun.jersey.config.property.packages</param-name> 
     <param-value>net.example.test/param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

The documentation говорит, что я могу защитить службу Rest с помощью org.apache.cxf.jaxrs.security.KerberosAuthenticationFilter, но я не уверен, как это сделать.

Любая помощь будет оценена по достоинству.

+0

Вы спросили список пользователей CXF? – bmargulies

ответ

2

Если вы хотите использовать CXF KerberosAuthenticationFilter, вы должны использовать CXF как исполнение JAX-RS, а не Джерси.

Вы можете узнать, как это сделать на страницах справки CXF JAX-RS или в this tutorial. Сначала вам нужно удалить всю конфигурацию с web.xml, потому что она действительна только для Джерси. Затем следуйте инструкциям для создания службы.

Наконец, вы должны добавить упомянутый KerberosAuthenticationFilter в конфигурацию пружины CXF, как в приведенной документации.

EDIT:

Потому что связано учебник действительно не работает, я установил ее. Вы можете скачать его из моего проекта github RestWithCXF.

Вы также можете найти полезные образцы в samples\jax_rs дистрибутива CXF.

+0

К сожалению, этот учебник не работает, он компилируется нормально, но не запускается. Слушайте, чтобы узнать о других? – ServerMonkey

+0

Я обновил свой ответ со ссылкой на исправленный код учебника. Взгляни, пожалуйста. Возможно, есть лучшие учебные пособия (обратите внимание, что конфигурация CXF будет одинаковой независимо от того, какой сервер приложений вы используете), но я слишком ленив, чтобы найти его для вас: P –

+0

Спасибо @Dawid Я получил его для работы с использованием оригинального сломанного учебника но это было не весело, ваш рабочий образец облегчит для следующего человека! – ServerMonkey

Смежные вопросы