[JPA] 접속중인 사용자에 대한 정보 추가
본문 바로가기

Web 개발/Java, SpringBoot, JPA

[JPA] 접속중인 사용자에 대한 정보 추가

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
반응형