시큐리티
허가된 사용자만이 특정 웹 페이지에 접근할 수 있도록 제한하는 보안 기능
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 |