전체 글35 [Spring Security] @EnableMethodSecurity와 @EnableGlobalMethodSecurity @EnableMethodSecurity와 @EnableGlobalMethodSecurity의 차이점이 문득 궁금해졌습니다. 둘다 메서드 수준의 보안처리를 활성화하는 어노테이션입니다.하지만 Spring Security 6 이후로 명칭과 사용방식에 변화가 있습니다. @EnableMethodSecurity(securedEnabled = true, prePostEnabled = true) Spring Security 6 이후에 사용 되는 어노테이션이 어노테이션은 메서드 수준의 보안을 활성화하며, 특정 옵션을 설정할 수 있습니다. securedEnabled = true: @Secured 어노테이션을 사용하여 특정 역할이나 권한을 가진 사용자만 해당 메서드에 접근할 수 있도록 설정합니다. prePostEnabl.. 2024. 9. 10. DDD란? DDD( Domain Driven Design )란?도메인 주도 설계란? 도메인 패턴을 중심에 놓고 설계하는 패턴이다. 즉, 도메인 간의 상호작용이 설계의 중심이 된다. 도메인이란, 소프트웨어로 해결하고자 하는 문제의 영역, 실세계에서 사건이 발생하는 집합과 같은 말들로 정의할 수 있다. 여기서 '도메인'이란 소프트웨어로 해결하려는 문제의 영역을 의미합니다. 예를 들어 회원, 상품, 주문 등이 도메인이 될 수 있습니다. 또한, 하나의 도메인 내부에는 하위 도메인이 존재할 수 있습니다. (예: 회원 프로필, 상품 상세, 주문 상품 등) DDD(Domain-Driven Design)와 계층형 아키텍처를 혼합한 형태1. 디렉토리 구조 설명application: 비즈니스 로직을 포함한 애플리케이션 서비.. 2024. 9. 6. JPA) JPA Auditing 사용하기 JPA Auditing이란? JPA Auditing은 Spring Data JPA에서 제공하는 기능 중 하나로, 엔티티가 생성되거나 수정될 때 자동으로 생성일, 수정일, 생성자, 수정자를 기록하는 기능입니다. 이 기능을 사용하면 데이터베이스 테이블에 발생하는 변화 내역을 쉽게 추적할 수 있습니다. 1. 의존성추가 Spring Data JPA 의존성을 추가합니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa'} 2. 엔티티 클래스에 Auditing 필드 추가 엔티티 클래스에 @CreatedDate, @LastModifiedDate, @CreatedBy, @LastModifiedBy 어노테이션을 .. 2024. 9. 5. [Spring Security] canAccessUser 메서드 canAccessUser 메서드는 Spring Security에서 자주 사용하는 커스텀 메서드 입니다.특정 사용자가 다른 사용자에게 접근할 수 있는 권한이 있는지를 판단하는 로직을 포함합니다.이는 일반적으로 서비스 계층에 정의된 메서드로, 보통 @PreAuthorize와 함께 사용되어 더 복잡한 접근 제어 로직을 구현할 때 사용합니다. @Servicepublic class SecurityService { public boolean canAccessUser(String currentUsername, Long userId) { // 여기서는 currentUsername(현재 로그인한 사용자 이름)과 userId로 접근 가능한지 여부를 판단 User user = userRepos.. 2024. 9. 4. 이전 1 2 3 4 5 6 ··· 9 다음