2011-02-18 11 views
5

Estoy usando j_security_check en un login.jsp. El servidor es GlassFish Server 3. Todo funciona, cuando el usuario se autentica, abre index.jsp. Mi problema es que necesito obtener j_username en mi index.jsp, pero no pude encontrar la manera de hacerlo. Todas las soluciones que encontré están en Java y necesito algo que funcione con mi jsp.¿Cómo puedo obtener j_username en mi index.jsp después de la autenticación exitosa con j_security_check?

¿Alguna idea? ¡Muchas gracias por adelantado!

Respuesta

10

La solicitud involucrada se encuentra en JSP EL disponible por PageContext#getRequest(). El usuario conectado está disponible por HttpServletRequest#getUserPrincipal(). El nombre de usuario está a su vez disponible por Principal#getName().

Así,

<p>Welcome, <c:out value="${pageContext.request.userPrincipal.name}" /></p> 

debe hacer.

Usando <c:out> es por cierto no es necesario, pero útil para el caso de que el nombre de usuario puede contener caracteres especiales de HTML que podría malform la salida HTML como <, >, " y así sucesivamente (que es una fuente de ataques XSS) . El <c:out> simplemente se les escapa para que se muestren literalmente en lugar de interpretarse como parte del marcado HTML.

+0

¡Muchas gracias! ¡Funcionó perfectamente! :) – Monica

Cuestiones relacionadas