Pregunta

Actualmente estoy usando este WebDAV Java Servlet implementación, es por lo que yo saben el más pequeño y el más fácil de usar solución de WebDAV de java que no depende de Tomcat (Uso de WebLogic).

Así que me gustaría extender esto a usar mi capa de seguridad subyacente que tanto utiliza una conexión de base de datos para autenticar a los usuarios.

Mi pregunta es si esto es posible? ¿El HttpServletRequest incluso obtener la autenticación?

Considere la siguiente cabecera del método:

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { }

Ahora me gustaría utilizar req.getPrincipal para obtener el principal de usuario que contiene el nombre de usuario y contraseña. Sin embargo, mi getPrincipal siempre devuelve un valor nulo, incluso si fijo mi cliente WebDAV para la autenticación de Windows o cualquier otra cosa para esa materia.

¿Fue útil?

Solución

Si usted está utilizando su propia capa de autenticación, es necesario inyectar su información de autenticación al ServletRequest. Esto se hace normalmente a través de un filtro y se envolvió HttpServletRequest.

Se puede encontrar un buen ejemplo en el CAS,

http://www.jasig.org/cas

Descargar la fuente y mirar esta clase,

org.jasig.cas.client.web.filter.HttpServletRequestWrapperFilter
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top