La servlet HTTP è un componente J2EE che gestisce i messaggi HTTP in entrata. Per proteggere la servlet HTTP, occorre prima proteggere il bean aziendale. È possibile utilizzare l'autenticazione di base HTTP per proteggere la servlet HTTP. Gli utenti autorizzati, con nome utente e password validi, possono inviare una transazione XML al sistema.
Informazioni su questa attività
Per abilitare l'autenticazione di base HTTP, modificare il file web.xml dell'applicazione Web:
- Rimuovere i commenti dalla sezione < security - constraint> dei servlet di integrazione. Ci sono tre sezioni < security - constraint>, una per ogni tipo di servizio: servizio aziendale, servizio della struttura oggetto e servizio standard.
L'associazione < web - resource - name> a service è:
| < nome - risorsa - web> |
Servizio |
| Servlet servizio aziendale |
Servizio aziendale |
| Servlet App Service |
Servizio standard |
| Servlet servizio struttura oggetto |
Servizio strutt. oggetto |
Procedura
- Nel file web.xml , annullare il commento delle sezioni dei vincoli di sicurezza per ciascun tipo di servizio, come nel seguente esempio di codice:
<!--
<security-constraint>
<web-resource-collection>
<web-resource-name>Enterprise Service Servlet</web-resource-name>
<description>
Enterprise Service Servlet (HTTP POST) accessible by authorized users
</description>
<url-pattern>/es/*</url-pattern>
<url-pattern>/esqueue/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Roles that have access to Enterprise Service Servlet (HTTP POST)
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>App Service Servlet</web-resource-name>
<description>
App Service Servlet (HTTP POST) accessible by authorized users
</description>
<url-pattern>/ss/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Roles that have access to App Service Servlet (HTTP POST)
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Object Structure Service Servlet</web-resource-name>
<description>
Object Structure Service Servlet (HTTP POST) accessible by authorized users
</description>
<url-pattern>/os/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<description>
Roles that have access to Object Structure Service Servlet (HTTP POST)
</description>
<role-name>maximouser</role-name>
</auth-constraint>
<user-data-constraint>
<description>data transmission gaurantee</description>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
-->
- Verificare che la sezione < security - role> nel file web.xml non sia commentata, come nel seguente codice di esempio:
<security-role>
<description>An Integration User</description>
<role-name>maximouser</role-name>
</security-role>
- Modificare il valore da 0 a 1 nella sezione useAppServerSecurity <env-entry-name>, come nell'esempio seguente:
<description>
Indicates whether to use Application Server security or not
</description>
<env-entry-name>useAppServerSecurity</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>1</env-entry-value>
</env-entry>
Operazioni successive
È possibile distribuire un servizio Web in modo sicuro utilizzando un Secure Socket Layer (SSL) per i messaggi HTTPS. Configurare SSL sul server delle applicazioni con i certificati digitali appropriati.