Autenticación HTTP - Braulio J. Solano Rojas

Anuncio
Autenticación HTTP
CI-2454 Servicios Web
Prof. Braulio José Solano Rojas
ECCI, UCR
Autenticación básica HTTP
●
La implementación de autenticación básica
HTTP es la técnica más simple para forzar
controles de acceso a recursos web porque no
requiere de cookies, identificador de sesión y
páginas de acceso. En su lugar la
autenticación básica HTTP utiliza encabezados
HTTP normales que implican que ningún
handshake debe ser realizado con anticipación.
Autenticación básica HTTP
●
Servidor:
●
Texto claro. Base64.
●
Debe ser enviado con el 401.
●
Encabezado:
–
WWW-Authenticate: Basic
realm="nmrs_m7VKmomQ2YM3:"
Autenticación básica HTTP
●
●
Cliente:
Authorization: Basic
QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Autenticación HTTP Básica
Autenticación HTTP Digest
●
http://evertpot.com/223/
Autenticación HTTP en un servicio web
RESTful en Glasfish
Nuevo dominio en Glassfish
●
●
En la interfaz administrativa de Glassfish que
usualmente se encuentra en
<scheme>://<servidor>:4848/ se debe ir a
Configuraciones > server-config > Seguridad >
Dominios y crear un nuevo dominio.
En el dominio podemos configurar una tabla de
usuarios asociada a nuestros recursos JDBC.
Nuevo dominio en Glassfish
Nuevo dominio en Glassfish
●
Por ejemplo, asumiendo que creamos un
dominio llamado reinojdbc utilizando un recurso
JNDI llamado rest, con los usuarios y los
grupos en una tabla llamada usuarios con la
clave encriptada en MD5, tendríamos los
parámetros tal como en las siguientes filminas.
Nuevo dominio en Glassfish
Nuevo dominio en Glassfish
Descriptor Standard
Deployment (web.xml)
●
●
●
En nuestro proyecto en Netbeans agregamos
un nuevo descriptor Standard Deployment.
Se crea un archivo web.xml en la configuración
de nuestro proyecto.
En realm-name se utilizará el nombre de
dominio creado en el paso anterior.
Descriptor Standard
Deployment (web.xml)
Descriptor Standard
Deployment (web.xml)
Descriptor Glassfish
●
●
En nuestro proyecto en Netbeans agregamos
un nuevo descriptor Glassfish.
Es necesario agregar un rol que corresponde
con el nombre de rol creado en el paso anterior.
Descriptor Glassfish
Descriptor Glassfish
Utilización del rol en el código
●
●
Es posible utilizar el rol en el código por medio
de una anotación.
Dicha anotación se puede utilizar para la clase
o para los métodos. Si están en ambos la
anotación del método sobre-escribe la
anotación de la clase.
Utilización del rol en el código
¡Gracias por su atención!
¿Preguntas?
Descargar