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:
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:
Hola ¿Dónde puedo encontrar los archivos web.xml y weblogic.xml que mencionas? Gracias.
Oye mano ahora como compruebas que realmente tiene seguridad disculpa mi ignorancia
Muchísimas gracias por estos tutoriales. Sencillos y yendo al grano!!. Como tiene que ser! , en vez de meter millones de líneas de código y ejemplos que al final no te enteras de nada.
Buen tutorial. Pero si la autenticaciòn se aplica un Proveedor de Seguridad de los que vienen en el dominio de seguridad loggeandose con la DB, siempre se crean los roles y/o grupos en el web.xml y weblogic.xml ??? que màs se configurarìa