programming/spring_security

[spring security] 이용자 정보 가져오기 설정하기

labj 2014. 10. 30. 13:37

[spring security]  이용자 정보 가져오기 설정하기


Security에서 로그인을 하면 com.swick.service.impl.UserDetailsServiceImpl의 loadUserByUsername(...) 에서 

이용자정보를 DB에서 가지고와서 org.springframework.security.core.userdetails.UserDetails에 저장합니다.


여기서는 로그인 유저 정보 저장을 위해서 

com.swick.service.impl.UserDetailsImpl에서 LibroCustomer를 상속받아서 set, get을 선언해두었습니다.

그리고 UserDetailsServiceImpl에서 DB조회된 값을 set해주었습니다.


java소스에서 로그인 유저 정보를 가져올 때 

    SecurityContext context = SecurityContextHolder.getContext();

    Object principalObj = context.getAuthentication().getPrincipal();

선언하고 principalObj 로 DB조회된 유저정보를 get합니다.

    String custId = ((UserDetailsImpl) principalObj).getUsername();

    String userId = ((UserDetailsImpl) principalObj).getUsername();

    String userPw = ((UserDetailsImpl) principalObj).getPassword();

    String userNm = ((UserDetailsImpl) principalObj).getCusName(); 


[spring security] 이용자 정보 가져오기 설정하기