2016-04-27 3 views
1

Я пробую свои первые шаги с Java Rest Services. Это должно быть с BASIC Authentication. Я использую Glassfish 4.1.1. Это мой класс ToDo. Это не работает. Я не знаю, почему, и я надеюсь, что кто-то может мне помочь.Базовая аутентификация Java Rest

Я использую один класс как класс root. Один класс обслуживания и класс, который собирает сервисы.

<?xml version="1.0" encoding="UTF-8"?> 

<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/RestServiceBasicAuth</context-root> 
    <security-role-mapping> 
     <role-name>asadmin</role-name> 
     <group-name>asadmin</group-name> 

    </security-role-mapping> 
</glassfish-web-app> 

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

    <servlet> 
     <servlet-name>javax.ws.rs.core.Application</servlet-name> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>javax.ws.rs.core.Application</servlet-name> 
     <url-pattern>/rest-api</url-pattern> 
    </servlet-mapping> 

    <security-constraint> 

     <web-resource-collection> 
      <web-resource-name>RestServiceBasicAuth</web-resource-name> 
      <url-pattern>/RestServiceBasicAuth/rest-api/todos</url-pattern> 
      <http-method>GET</http-method> 
      <http-method>POST</http-method> 
      <http-method>PUT</http-method> 
      <http-method>HEAD</http-method> 
     </web-resource-collection> 

     <auth-constraint> 
      <role-name>asadmin</role-name> 
     </auth-constraint> 

     <user-data-constraint> 
      <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
     </user-data-constraint> 

    </security-constraint> 

    <security-role> 
     <role-name>asadmin</role-name> 
    </security-role> 

    <login-config> 
     <auth-method>BASIC</auth-method> 
     <realm-name>admin-realm</realm-name> 
    </login-config> 

</web-app> 
+0

Если я сделать ответ запрос без аутентификации. – michaeldbjava

+0

большое спасибо ... – michaeldbjava

ответ

1

Я думаю, вы должны заменить

<url-pattern>/RestServiceBasicAuth/rest-api/todos</url-pattern> 

с

<url-pattern>/rest-api</url-pattern> 
Смежные вопросы