서블릿 보안의 4 요소
인증(Authentication)
인가(Authorization)
비밀보장(Confidentiality)
데이터 무결성(Data Integrity)
Tomcat 6.0으로 테스트 진행했습니다.
Tomcat의 Realm(인증정보가 저장되어 있는 장소를 의미)은 conf/tomcat-users.xml파일을
다음과 같이 tester라는 역할과 aircook이라는 사용자를 정의하여 aircook에게 tester라는 역할을 주었습니다. 이부분은 각 컨테이너마다 다릅니다.
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tester"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="aircook" password="aircook" roles="tester"/>
<user username="admin" password="1234567" roles="admin,manager"/>
</tomcat-users>
Web.xml(DD)에 다음과 같이 항목을 추가하였습니다.
<!-- 컨테이너가 가지고 있는 사용자와 역할 가져오기 -->
<security-role>
<role-name>tester</role-name>
</security-role>
<!-- 인증 활성화 하기 BASIC, DIGEST, CLIENT-CERT, FORM방식이 존재함 -->
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-constraint>
<web-resource-collection>
<!-- 사용하는 이름, 특별하게 사용되지는 않음 -->
<web-resource-name>test web resource</web-resource-name>
<!-- 제약을 걸 자원 -->
<url-pattern>/*</url-pattern>
<!-- 제약을 걸 HTTP 메소드 -->
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<!-- 정의된 자원을 호출할수 있는 역할 -->
<auth-constraint>
<role-name>tester</role-name>
</auth-constraint>
</security-constraint>
브라우저로 해당 컨텍스트에 존재하는 모든자원(<url-pattern>/*</url-pattern>) 에 접근하면 다음과 같이 인증 로그인창이 나타납니다.
conf/tomcat-users.xml에 정의된대로 tester 역할에 해당하는 아이디와 비밀번호를 넣으면 인증이 성공하고, 틀리다면 다음과 같이 실패합니다.
'others' 카테고리의 다른 글
서블릿 보안 3 (0) | 2007.11.22 |
---|---|
서블릿 보안 2 (0) | 2007.11.22 |
개발 Flow Chart (0) | 2007.10.26 |
jeus 5.0 설정 파일 (1) | 2007.09.21 |
tree sample by extjs (0) | 2007.08.14 |