본문 바로가기

JSP

[JSP] 시큐리티

시큐리티

허가된 사용자만이 특정 웹 페이지에 접근할 수 있도록 제한하는 보안 기능

 

1) 인증(authentication) ==>로그인

- 사용자가 웹 브라우저를 사용하여 웹 페이지에 접근할 때, JSP컨테이너는 보안 제약이 있는지 확인 후 사용자에게 이름과 암호를 확인하여 수행 

 

2) 권한 부여 (authorzation) ==> 인증 후 진행됨

- 특정 사용자가 해당 페이지에 접근할 수 있는지 확인하여 승인

 

웹 서버에 역할과 사용자 구성하기

톰켓 폴더 내 tomcat-users.xml 파일

<role rolename="권한 이름"/>

<user username="유저이름(ID)" password="비밀번호(passwd)" roles="rolename에 작성한 권한"/>

 

선언적 시큐리티

- 웹 에플리케이션 배포 설명자 web.xml 파일에 보안 구성을 작성하여 수행하는 방식

 

web.xml 파일 내에 작성

 

1) 시큐리티 역할 설정

<!-- 시큐리티 역할(role) 설정 -->
  <security-role>
    <role-name>역할이름</role-name>
  </security-role>

 

2) 시큐리티 제약 사항 설정

- 사용자의 요청 URL에 대한 접근 권한을 정의하는데 사용

<!-- JSPBook이라는 웹 에플리케이션에서 해당 URL을 GET방식으로 요청하려면
  		role1 이라는 권한이 있어야 함 -->
  <security-constraint>
  	<web-resource-collection>
  		<web-resource-name>JSPBook</web-resource-name>
  		<url-pattern>/ch10/security01.jsp</url-pattern>
  		<http-method>GET</http-method>
  	</web-resource-collection>
  	<auth-constraint>
  		<description></description>
  		<role-name>role1</role-name>
  	</auth-constraint>
  </security-constraint>

3) 인증 설정

- 로그인/로그아웃 처리를 위한 페이지를 설정

  <login-config>
<!--   	<auth-method>BASIC</auth-method> -->
	<auth-method>FORM</auth-method>
	<form-login-config>
		<!-- 로그인 URL 설정 -->
		<form-login-page>/login.jsp</form-login-page>
		<!-- 인증(로그인) 실패 시 실패 페이지 설정 -->
		<form-error-page>/login_failed.jsp</form-error-page>
	</form-login-config>
  </login-config>

auth-method를 BASIC으로 처리하면 팝업 창처럼 로그인 화면이 뜨고

FORM으로 작성하면 <form-login-page>에 설정된 jsp 화면에 있는 FORM태그로 로그인 과정을 수행한다.

 

로그인 실패 시 , BASIC인 경우 팝업 창이 계속 나타나고

FORM으로 작성하면 <form-error-page>에 설정된 jsp화면으로 이동한다.

'JSP' 카테고리의 다른 글

엔터 누를 때 폼전송 막고 다른 이벤트 호출하기  (0) 2023.12.28
[JSP] 예외처리  (1) 2023.07.11
[JSP] 다국어 처리  (0) 2023.07.10
[JSP] 유효성 검사  (0) 2023.07.05
[JSP] 파일 업로드  (0) 2023.07.05