[Spring] Spring Security PrincipalDetails 와 mustache template
·
Spring
📍 Spring Security PrincipalDetails 스프링 시큐리티는 /login 주소 요청이 오면 해당 요청을 낚아채서 로그인을 진행시킬 수 있다. => WebSecurityConfigurerAdapter를 상속받아 configure을 override 한후 다음과 같이 작성한다. @EnableWebSecurity // 해당 파일로 시큐리티를 활성화 @Configuration // IoC public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { // super 삭제 - 기존 시큐리티가 가지고 있는 기능이..
[Java / Spring / JPA] Native Query와 QLRM 라이브러리
·
Spring
JPA(Java persistence API)를 사용하여 서비스를 구현하다 보면 JPA에서 제공하는 기능만으로는 조회가 불가능한 경우가 존재한다. 대표적으로 엔티티 객체를 그대로 조회하는 것이 아닌 DTO에 맞춰서 조회하는 경우이다. [ 예시 / 인스타그램 클론코딩 중 구독 정보 조회 커리 ] SELECT u.id, u.username, u.profileImageUrl, if((SELECT 1 FROM subscribe WHERE fromUserId = 1 AND toUserId = u.id),1,0) subscribeState, if((1=u.id),1,0) equalUserState FROM user u INNER JOIN subscribe s ON u.id = s.toUserId WHERE s.fr..
[Java / Spring / JPA] 맵핑 어노테이션 @Entity, @Table, @Column, @Id
·
Spring
객체 - 테이블 맵핑 : @Entity, @Table 필드 - 컬럼의 팹핑 : @Column 기본키의 맵핑 : @Id 조인 맵핑 : @ManyToOne, @JoinColumn 📕 @Entity 테이블과의 매핑 @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라고 불림 제약조건 필드에 final, enum, interface, class 사용불가 생성자 중 기본 생성자가 반드시 필요함 속성 Name - 엔티티 이름을 지정, 기본값으로 클래스 이름을 그대로 사용함 📕 @Table 엔티티와 매핑할 테이블을 지정 생략 시 매핑한 엔티티 이름을 테이블 이름으로 사용 속성 Name - 매핑할 테이블 이름을 지정 Catalog - DB의 Catalog를 매핑 Schema - DB 스키마와 매핑 Uniq..
[Java / Spring] Spring Security란?
·
Spring
대부분의 애플리케이션에서는 회원관리를 하고 있고, 그에 따른 인증(Authentication)과 인가(Authorization)에 대한 처리를 해주어야 한다. Spring에서는 Spring Security라는 별도의 하위 프레임워크를 제공하고 있다. Spring Security란? Spring기반 애플리케이션의 보안을 담당하는 스프링 하위 프레임워크 Spring Security는 '인증(Authentication)'과 '권한(Authorization)'에 대한 부분을 Filter의 흐름에 따라 처리를 하고 있다. spring security는 filter 기반으로 동작하기 때문에 spring MVC 와 분리되어 관리 및 동작한다 > 보안관련 용어 정리 접근 주체(Principal) : 보호된 대상에 접근..
[Java / Spring] Spring Security 로그인 정보 가져오기 @AuthenticationPrincipal
·
Spring
로그인한 사용자의 정보를 파라미터로 받아오고 싶을 때, Java 표준 Principal 객체를 받아서 사용한다. 하지만, Java 표준 Principal 객체는 name 정보만 참조할 수 있다. @AuthenticationPrincipal 어노테이션을 사용하면 UserDetailsService에서 Return한 객체를 파라미터로 직접 받아 사용할 수 있다. 인스타그램 클론코딩에서 UserDetailsService 인터페이스를 상속받아 구현체를 만들었다. @RequiredArgsConstructor @Service public class PrincipalDetailsService implements UserDetailsService { private final UserRepository userReposi..
[Spring / error] NullPointerException 에러 수정
·
Spring
로스트아크 API를 이용한 기능 구현중 똑같은 기능을 하는 서비스 메서드를 구축했는데 유독 한쪽에서만 에러가 발생 @Controller @RequiredArgsConstructor public class SuppressionController { private static SuppressionService suppressionService; private static MarketApiService marketApiService; @GetMapping("/api/suppression") public String CallSuppression(Model model) { JSONArray result = marketApiService.CallMarketCategories(50000); //model.addAtt..
마볼링
'Spring' 카테고리의 글 목록 (3 Page)