2011-02-18 5 views
5

login.jsp에서 j_security_check를 사용하고 있습니다. 서버는 GlassFish Server 3입니다. 모두 작동합니다. 사용자가 인증되면 index.jsp가 열립니다. 내 문제는 내 index.jsp j_username 얻을 필요가 있지만 그것을 수행하는 방법을 찾을 수 없습니다. 내가 찾은 모든 솔루션은 Java에 있으며 내 JSP로 작동하는 무언가가 필요합니다.j_security_check 인증에 성공하면 내 index.jsp에서 j_username을 어떻게 얻을 수 있습니까?

아이디어가 있으십니까? 대단히 감사드립니다!

답변

10

관련 요청은 PageContext#getRequest()에서 사용할 수있는 JSP EL에 있습니다. 로그인 한 사용자는 HttpServletRequest#getUserPrincipal()입니다. 사용자 이름은 차례로 Principal#getName()에 있습니다.

그래서

,

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

는해야한다.

<c:out>를 사용하는 방식으로 사용자 이름 등등 (XSS 공격에 대한 소스 인) < 같은 HTML 출력, >, "을 malform 및 수있는 특수 HTML 문자를 포함 할 수있는 경우에 필요하지만, 유용하지 않다 . <c:out>은 HTML 마크 업의 일부로 해석되는 대신 문자 그대로 표시되도록 이스케이프 처리합니다.

+0

정말 고마워요! 완벽하게 작동했습니다! :) – Monica