Creamos un Microservicio donde establecemos seguridad mediante IdentityStore.
Proyecto: microservicesseguro
Cliente: clienteseguro
Crear proyecto PayaraMicro
Desde NetBeans --> New Project
indicar el nombre del proyecto
indicar la versión de PayaraMicro
Trabajaremos en crear una estructura similar a la imagen
Cuando finalizamos nos quedara el servicio Rest de la siguiente manera
Dependencias archivo pom.xml
Crear el entity Paises.java
Crear PaisesResources.java
Que utilizaremos mediante JAX-RS para devolver la lista de países mediante @Path("/paises") identificamos el path.
Observe que el metodo getPaises() restringuimos el acceso solo a administrador mediante @RolesAllowed({"administrador"})
Crear la clase principal JAXRSConfiguration.java
Mediante @DeclareRoles espeficamos los roles permitidos para usar el Microservicio.
@BasicAuthentificationMechanismDefinition definimos el tipo de autentificaciòn.
Crear la clase TestIdentityStore.java
Que implementara la validación del username, password y devolvera los roles del usuario.
A modo de ejemplo usamos: myusername, mypassword para autentificar al usuario y devolvemos los roles. En un ejemplo real puede ser información proveniente de una base de datos u otro repositorio.
Archivo web.xml
Editar el archivo web.xml y agregar los roles permitidos. Que usamos en JAXRSConfiguration.java y en PaisesResources.java
Podemos ejecutarlo o convertirlo en un UberJar
Para comprobar que esta funcionando podemos utilizar nuestro navegador o Postman. Si es en la maquina local puede usar localhost o el ip.
Postman
Ahora deseamos accesar la lista de paises
Ingresamos en el url
Desde google chrome
Se activa el dialogo solicitando el nombre de usuario y el password, usaremos
Si los datos son correcto accedemos al servicio y obtenemos los resultados
Si usamos Postman
Necesitamos indicar los parámetros, dar clic en el botón Param
En tipo de autentificacion selecionar Basic Auth
ingresar los datos
dar clic en el botón Update Request
y presionar nuevamente el botòn Send