5회 사용자 모임 발표 시나리오 사전 공유

우선 보안 처리가 없는 간단한 웹 애플리케이션을 가지고 다음 사항을 하나씩 실현해본다.
1. 보호할 페이지는 로그인 하게!
2. 패스워드 등을 확인하여 인증Authenticate!
3. 권한이 없는 사용자는 접근 거부 페이지Access Denied page로!
4. 인증authenticated과 권한 확인authorized에 성공하면 해당 페이지로!
5. 인증을 수행한 클라이언트는 쿠키를 통해 향후에는 로그인이 필요 없게!
6. 인증정보를 세션에 보관하여 뒤이은 요청에서 사용하게!
7. 캐시를 사용하여 성능 향상!
8. 사용자가 로그아웃하면 세션에 보관하던 객체 제거!

해야 할 일에 대해서.. 그림을 그릴 수 있는 것들은 옮겨본다.

1. Servlet Filter 대신 Bean을 쓰기
사용자 삽입 이미지

web.xml 이 아니라 스프링으로 설정하기 위해서 FilterChainProxy 활용

사용자 삽입 이미지


그림만 쭉 이어봐도 대략의 스토리가 나온다.
주요 필터들
사용자 삽입 이미지

Manager와 Provider 관계
사용자 삽입 이미지

계층적으로 보기
사용자 삽입 이미지

실제 클래스 배열해보기
사용자 삽입 이미지
Security Interceptor 종류

사용자 삽입 이미지

Security Interceptor 의 collaborator
사용자 삽입 이미지

참고

  • Securing Java applications with Acegi, Part 1: Architectural overview and security filters: http://www.ibm.com/developerworks/java/library/j-acegi1/
  • Spring in Action, 2nd edition, Craig Walls, Ryan Breidenbach, Manning 7장
이올린에 북마크하기(0) 이올린에 추천하기(0)