6. Which two are valid values for the <transport-guarantee> element inside a <security-constraint> element of a web application deployment descriptor? (Choose two.)
A. NULL
B. SECURE
C. INTEGRAL
D. ENCRYPTED
E. CONFIDENTIAL
위의 문제는 DD파일에서 <security-constraint> 안의 <transport-guarantee>엘리먼트의 값으로 쓸 수 있는 것을 물어보는 문제입니다.
<security-constraint> 는 특정 역할을 가진 지정된 사용자만 자원에 접근할 수 있도록 제약하는 엘리먼트입니다.
이 안에 데이터의 기밀성과 무결성을 보장하려면 <user-data-constraint>항목을 추가하면 됩니다.
바로 <transport-guarantee> element가 위의 엘리먼트안에서 작성됩니다. 간략히 구조를 보면,
<security-constraint>
<web-resource-collection> <-- 자원과 메소드를 짝으로 제약을 걸기 위해서 사용
<web-resource-name>Recipes</web-resource-name>
<url-pattern>/Beer/UpdateRecipes/*</url-pattern> <-- 제약을 걸 자원!! 다수일 수 있음.
<http-method>POST</http-method> <--- POST 만 제약이 유효하다는 의미, GET로는 누구든지 접근가능!!
</web-resource-collection>
<auth-constraint> <--- <web-resource-collection>에 명시된 웹 자원에 접근할 수 있는 역할이 뭔지 기술
<role-name>Member</role-name> <---- Admin, Member, Guest, * , <auth-constrint/> 등이 올 수 있음. 이것도 다수가능!!
</auth-constraint>
<user-data-constraint> <-- 데이터 기밀성과 무결성을 선언하기 위한 항목을 이 엘리먼트 안에 모두 기술함.
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
이 문제에서는 위의 코드에서 파란색 부분에 무엇이 올 수 있냐는 문제인데 이곳에는 3가지가 올 수 있습니다.
NONE : 디폴트 값으로 데이터 보호를 하지 않겠다는 의미입니다.
INTEGRAL : 전송 중 데이터가 변경되지 않음을 보장한다는 말입니다.
CONFIDENTIAL : 전송 중 그 누구도 데이터를 훔쳐보지 않음을 보장한다는 말입니다.
이 글은 스프링노트에서 작성되었습니다.