Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Spring Boot] User객체 대신 MemberContext를 사용하여 로그인한 회원의 다양한 정보를 세션에 저장 본문
Backend/스프링부트
[Spring Boot] User객체 대신 MemberContext를 사용하여 로그인한 회원의 다양한 정보를 세션에 저장
Gaejirang-e 2022. 12. 19. 15:04[MemberContext.java]
@Getter
public class MemberContext extends User {
private final Long id;
private final String profileImgUrl;
public MemberContext(Member member, List<GrantedAuthority> authorities) {
super(member.getUsername(), member.getPassword(), authorities);
this.id = member.getId();
this.profileImgUrl = member.getProfileImgUrl();
}
}
[MemberSecurityService.java]
@Service
@RequiredArgsConstructor
public class MemberSecurityService implements UserDetailsService {
private final MemberRepository memberRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Member member = memberRepository.findByUsername(username).get();
List<GrantedAuthority> authorities = new ArrayList<>();
authorities.add(new SimpleGrantedAuthority("member"));
return new MemberContext(member, authorities);
}
}
🎯 User객체를 상속한 MemberContext에 선언해준 필드는
다음과 같이 #authentication.principal을 통해 이용할 수 있다.
다음과 같이 #authentication.principal을 통해 이용할 수 있다.
<img class="w-10 h-10 object-cover rounded" th:src="@{${#authentication.principal.profileImgUrl}}" alt="">
'Backend > 스프링부트' 카테고리의 다른 글
[Spring Boot] 이미지를 경유해서 보여주기 (0) | 2022.12.19 |
---|---|
[Spring Boot] 현재 로그인한 회원 정보 보기 (0) | 2022.12.19 |
[Spring Boot] URL을 통해 이미지 다운받고 확장자 감지해서 저장하기 (0) | 2022.12.19 |
[Spring Boot] Util클래스에서 파일의 확장자 가져오기 (0) | 2022.12.12 |
[Spring Boot] Util클래스에서 원하는 포맷으로 날짜 가져오기 (0) | 2022.12.10 |