2008. 10. 8. 15:19

jsp 직접실행 막는 방법

spring 이나 struts 같은 프레임웍은 jsp 의 처리를 컨트롤러에 위임하게 된다.

그래서 *.do 같은 형태의 url 로 접근 하도록 만들어 놓은건데.

좀 똑똑한 사용자가 jsp 파일의 경로를 알아서 컨트롤러를 거치지 않고

바로 jsp 에 접근하는게 가능하다.

이것을 막기위해 web.xml 에다가 아래 코드를 추가하면 된다.


 <security-constraint>
  <display-name>JSP Protection</display-name>
  <web-resource-collection>
   <web-resource-name>SecureJSPPages</web-resource-name>
   <url-pattern>*.jsp</url-pattern>
  </web-resource-collection>
  <auth-constraint>
   <role-name>nobody</role-name>
  </auth-constraint>
 </security-constraint>
 
 <security-role>
  <description>
  Nobody should be in this role so JSP files are protected
  from direct access.
  </description>
  <role-name>nobody</role-name>
 </security-role>