분류 전체보기

·TIL,일일 회고
@MappedSupercass란❓@MappedSuperclass는 JPA(Java Persistence API)에서 사용하는 어노테이션으로, 객체 관계 매핑에서 부모 클래스가 공통적으로 제공하는 매핑 정보를 자식 클래스에 상속하고자 할 때 사용됩니다. 이 어노테이션은 부모 클래스에 붙여지며, 이 클래스를 상속받는 모든 자식 엔티티 클래스들은 부모 클래스에서 정의한 매핑 정보를 물려받게 됩니다. 주요 특징 테이블 매핑 없음@MappedSuperclass가 붙은 클래스 자체는 데이터베이스 테이블과 매핑되지 않습니다.즉, 이 클래스는 테이블로 매핑되지 않으며, 데이터베이스에 대응되는 물리적 테이블을 생성하지 않습니다.대신, 이 클래스를 상속받는 엔티티 클래스들이 이 클래스에서 정의한 필드와 매핑 정보를 상속..
·TIL,일일 회고
UserDetails와 getAuthorities() 메서드현재 인증된 사용자는 UserDetails에 들어있기 때문에, UserDetails의 getAuthorities() 메서드를 사용할 수 있습니다. getAuthorities() 메서드는 Collection를 반환하며, GrantedAuthority는 문자열(String) 타입과는 호환되지 않습니다. 문자열 비교의 문제점원래는 다음과 같이 문자열로 권한을 비교하고 있습니다. 하지만 userDetails.getAuthorities() 메서드는 Collection를 반환하며, contains 메서드는 문자열 객체와 비교하지 않고, GrantedAuthority 객체의 toString() 메서드를 사용하여 비교합니다. 이는 GrantedAuthority..
·TIL,일일 회고
Git Flow 현재 팀의 기본 브랜치는 dev입니다. 새로운 기능을 개발하기 위해 feat/user-update라는 브랜치를 생성하고, 이 브랜치에서 dev 브랜치를 병합했습니다.Git  Flow인텔리제이에서는 현재 브랜치를 표시하고 있지만, 과거에 인텔리제이의 오류로 인해 현재 브랜치와 다른 브랜치가 표시된 적이 있었습니다. 그래서 현재 브랜치가 제대로 적용되었는지 확인하기 위해 feat/user-update 브랜치에서 임시로 tmp.txt 파일을 만들었습니다. 그 후 브랜치를 전환하여 파일들이 사라지는지 확인하기로 했습니다.dev 브랜치로 전환했을 때 tmp.txt 파일이 여전히 보였기 때문에, tmp.txt 파일이 dev 브랜치에도 존재하는지 확인하고자 했습니다. dev 브랜치로 전환하고 나서도 ..
·TIL,일일 회고
서론프로젝트를 진행하면서 권한별로 회원가입을 처리하는 로직이 있었습니다. 초기에는 코드에 토큰을 저장해 두고, 관리자가 회원가입 시 이 토큰을 입력하면 관리자로 가입될 수 있도록 구현했습니다. 관리자는 이 토큰을 알고 있기 때문에 해당 토큰을 입력하면 자동으로 관리자 권한으로 가입되는 방식이었습니다. 위 토큰 명은 예시입니다. 하지만 코드에 토큰 값을 저장하는 것은 보안상 큰 문제가 될 수 있으므로, 보안 처리가 필요합니다. 구글 검색과 튜터님과의 상담 결과, Jasypt 라이브러리를 사용하거나, 토큰을 코드에 저장하지 않고 관리자와 사용자의 회원가입 로직을 분리하는 것이 최선의 해결책이라는 결론에 도달했습니다. 현재 문제는 사용자와 관리자의 회원가입 로직이 동일한 비즈니스 로직을 사용하기 때문에 발생했..
지누박
'분류 전체보기' 카테고리의 글 목록 (74 Page)