더북(TheBook)

Reader 엔티티를 나타내는 Reader 클래스는 마지막 퍼즐 조각이다. Reader 클래스는 사용자 이름, 패스워드, 사용자의 전체 이름을 보여 주는 몇몇 필드가 있는 간단한 JPA 엔티티 타입이다.

 

코드 3-9 Reader를 정의하는 JPA 엔티티

package readinglist;
 
import java.util.Arrays;
import java.util.Collection;
 
import javax.persistence.Entity;
import javax.persistence.Id;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
 
@Entity
public class Reader implements UserDetails {
 
    private static final long serialVersionUID=1L;
 
    @Id // Reader 필드
    private String username;
    private String fullname;
    private String password;
 
    public String getUsername() {
        return username;
    }
 
    public void setUsername(String username) {
        this.username=username;
    }
 
    public String getFullname() {
        return fullname;
    }
 
    public void setFullname(String fullname) {
        this.fullname=fullname;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password=password;
    }
 
    // UserDetails 메서드
 
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() { // READER 권한 부여
        return Arrays.asList(new SimpleGrantedAuthority(“ROLE_READER”));
    }
 
    @Override
    public boolean isAccountNonExpired() { // 계정이 만료되지 않았다는 것을 반환
        return true;
    }
 
    @Override
    public boolean isAccountNonLocked() { // 계정이 잠겨 있지 않았다는 것을 반환
        return true;
    }
 
    @Override
    public boolean isCredentialsNonExpired() { // 자격이 유효하다는 것을 반환
        return true;
    }
 
    @Override
    public boolean isEnabled() { // 계정이 활성화되어 있다는 것을 반환
        return true;
    }
 
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.