-
스프링 시큐리티 설정 이모저모Spring(스프링)/시큐리티 2018. 9. 5. 09:10반응형
#시큐리티 설정
1.<form-login>
1) login-processing-url => RequestMapping처럼 action url과 연결됨
2) authentication-success-handler-ref => 로그인 성공 시 호출됨
가) 인증 성공 후 핸들러를 SavedRequestAwareAuthenticationSuccessHandler 상속
나) onAuthenticationSucess를 오버라이드
A) Authentication 메소드는 회원정보 제공 (principal, redential)
->해당 메소드는 SecurityContext에 보관된다.
->SecurityContext는 SecurityContextHolder에 담아 보관하게 된다.
->최종적으로 SecurityContextHolder.getContext().getAuthentication()으로 유저 정보를 불러온다
B) RequestCache 인터페이스는 로그인 화면을 보여주기 전에 사용자 요청을 저장하고 이를 꺼내오는 매커니즘
C) SavedRequest 인터페이스는 사용자가 요청했던 requeset 파라미터 값들, 그 당시 헤더값들 등이
SavedRequest 인터페이스를 구현한 클래스에 담겨지게 된다.
D) HttpSessionRequestCache 는 사용자 요청을 세션에 저장하는 클래스다
3) authentication-failure-handler-ref => 로그인 실패 시 호추됨
2.<authentication-manager> -> 인증처리(인증요청을 받고 Authentication를 채운다)
1) <authentication-provider user-service-ref="UserDetailsService를 구현한 클래스" >
가) UserDetailService -> 사용자 정보를 읽어오는 인터페이스
나) JdbcDaoImpl
A) UserDetailService 를 구현한 클래스
B) 사용자가 로그인을 하게되면 loadUserByUsername을 호출
C) loadUserAuthorities을 호출하여 권한을 호출
다) <password-encoder> -> 문자를 암호화된 문자열로 바꾸는 기능과 입력받은 문자를 암호화된 문자열과 일치하는지 비교하는 기능을 제공
A) PlaintextPasswordEncoder : 일반 텍스트 인코딩 처리
B) Md4PasswordEncoder : MD4 해리 알고리즘을 사용, 안전한 알고리즘이 아님
C) Md5PasswordEncoder : MD5 단방향 인코딩 알고리즘 사용
D) ShaPasswordEncoder : 단방향 인코딩 알고리즘 사용, 인코딩 레벨을 설정할 수 있는 기능이 있음.
E) LdapShaPasswordEncoder : LDAP 인증 저장소
반응형'Spring(스프링) > 시큐리티' 카테고리의 다른 글
스프링 시큐리티 JDBC 를 이용한 로그인(1) (7) 2015.10.04 스프링 시큐리티 - 로그아웃 (0) 2015.09.27