martes, 16 de enero de 2007

Authenticacion Web con JSP/Servlet

Yo creía que la authentication tipo Realm era únicamente en la configuración del contenedor,

        // para ver si se autenticó
String auth = request.getHeader(
"Authorization");
//si no se autenticó...
if (auth == null) {
//... responder al cliente que no está autorizado...
response.setStatus(response.SC_UNAUTHORIZED);
//... y pedir que se autentique.
response.setHeader(
"WWW-Authenticate", "Basic realm=\"Esbas\"");
}
else { // si se auténtico..
//obtenemos el par usuario/contrasenia encriptada
//... pero se antepone la palbra Basic
String cad = auth.substring(
6).trim();
//.. la clave está encriptada en BASE64..
sun.misc.BASE64Decoder decoder =
new sun.misc.BASE64Decoder();
//... asi que lo decodificaremos
String clave =
new String(decoder.decodeBuffer(cad));
//.. y listo, ya tenemos el par usuario/contraseña
out.println(clave);
}