Tag Archives: SoapUI

JAX-WS: Seguridad a nivel de contenedor en Weblogic

Para el post de hoy vamos a ver como se asegura un Servicio Web con HTTP Auth, básica, en Weblogic. Para ello nos podemos basar en un proyecto anterior en el que creamos un WS muy básico: Hello World.

En el Security Realm > MyRealm tenemos que crear:

  • Usuario: user/12345678
  • Grupo: TutorialUser
  • Añadir el usuario al grupo

En la consola de Weblogic, como vemos en la figura:

Managing users and groups

En el web.xml hay que añadir la configuración de seguridad pertinente (path, tipo básico,….):

   <!--
    SECURITY
    -->
    <security-constraint>
        <display-name>Regla01</display-name>
        <web-resource-collection>
            <web-resource-name>WSPOST</web-resource-name>
            <description />
            <url-pattern>/*</url-pattern>
            <http-method>POST</http-method>
        </web-resource-collection>
        <auth-constraint>
            <description/>
            <role-name>TutorialUser</role-name>
        </auth-constraint>
    </security-constraint>
    <session-config>
        <session-timeout>5</session-timeout>
    </session-config>
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>myrealm</realm-name>
    </login-config>
    <security-role>
        <description />
        <role-name>TutorialUser</role-name>
    </security-role>

Y en el weblogic.xml mapeamos con el rol (si no hacemos esto no funcionará):

    <wls:security-role-assignment>
        <wls:role-name>TutorialUser</wls:role-name>
        <wls:principal-name>TutorialUser</wls:principal-name>
    </wls:security-role-assignment>

Podemos probarlo con SoapUI creando un nuevo proyecto de WS, con la dirección del WSDL (http://localhost:7001/wsc/HelloService?WSDL) y las credenciales creadas en WebLogic anteriormente:

SoapUI Test