2015-11-24 3 views
0

Я пытаюсь получить разрешение на мои ресурсы через web.xml, однако нижеследующее не работает. Что я делаю не так?авторизация джерси используя web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 

<display-name>security-web</display-name> 
<welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
</welcome-file-list> 

<context-param> 
    <param-name>resteasy.role.based.security</param-name> 
    <param-value>true</param-value> 
</context-param> 

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Docente Service</web-resource-name> 
     <url-pattern>/servicios/docentes</url-pattern> 
     <http-method>GET</http-method> 
    </web-resource-collection> 

    <auth-constraint> 
     <description>Admin role</description> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 

<security-role> 
    <role-name>admin</role-name> 
</security-role>  
</web-app> 
+0

С помощью этого кода, что у вас есть проблема? – Abdelhak

+0

Ваша конфигурация предназначена для отдыха. Джерси требует другого набора настроек. Вы можете посмотреть это здесь: https://jersey.java.net/documentation/latest/security.html –

+0

Привет ... Я пытался использовать аннотации безопасности для реализации авторизации, но у меня много проблем, из-за этого я решил использовать авторизацию через web.xml –

ответ

0

У меня был рабочий для моего GlassFish 4.1 проекта:

<servlet> 
     <servlet-name>Jersey</servlet-name> 
     <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class> 
     <init-param> 
      <param-name>jersey.config.server.provider.classnames</param-name> 
      <param-value>org.glassfish.jersey.server.filter.RolesAllowedDynamicFeature</param-value> 
     </init-param> 
     <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>com.mypackage</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>Jersey</servlet-name> 
     <url-pattern>/rest/*</url-pattern> 
    </servlet-mapping> 
0

Вы можете принять это как пример для Закрепление RESTful Web-сервисов с использованием Basic Authorization для получения дополнительной информации перейдите к site

<web-app> 
<servlet> 
    <servlet-name>RestServlet</servlet-name> 
    <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>RestServlet</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 
<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>Orders</web-resource-name> 
     <url-pattern>/orders</url-pattern> 
     <http-method>GET</http-method> 
     <http-method>POST</http-method> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 
    <login-config> 
     <auth-method>BASIC</auth-method> 
     <realm-name>default</realm-name> 
    </login-config> 
<security-role> 
    <role-name>admin</role-name> 
</security-role> 
</web-app> 
+0

Вопрос об авторизации не аутентификации. –

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