Web 개발/Java, SpringBoot, JPA
[JPA] 접속중인 사용자에 대한 정보 추가
닉ㄴ네
2021. 6. 30. 15:20
728x90
반응형
1. UserDetails 에 추가 정보 저장
public class CustomUserDetails implements UserDetails {
Account user;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
ArrayList<GrantedAuthority> auth = new ArrayList<GrantedAuthority>();
auth.add(new SimpleGrantedAuthority(AUTHORITY));
return auth;
}
@Override
public String getUsername() {
return user.getName();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return user.getEnabled();
}
@Override
public String getEnglishname() {
return user.getEnglishName();
}
}
2. Thymeleaf 를 이용하여 뷰에 보여주기
<!DOCTYPE html>
<html lang="ko"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<div sec:authorize="isAuthenticated()">
<th:block th:if="${#authentication.getPrincipal().getEngName().isEmpty()}">
<span sec:authentication="principal.engName"></span><br>
</th:block>
</div>
</html>
728x90
반응형