spring

개발로그

[개발로그] Spirng Security Principal 제어, Remember-Me 쿠키

엔티티 정보를 Principal에 포함하기 UserDetails 구현체 @Getter public class UserAccount extends User { private Account account; public UserAccount(Account account) { super(account.getNickname(), account.getPassword(), List.of(new SimpleGrantedAuthority("ROLE_USER"))); this.account = account; } } 엔티티 정보를 포함해 AuthenticationToken의 Principal로 들어감 @CurrentAccount @Retention(RetentionPolicy.RUNTIME) @Target(ElementT..

스프링

[Spring] 스프링 개념

프레임워크 vs 라이브러리 둘의 차이는 제어의 흐름을 누가 갖고 있느냐? 이다 프레임워크는 사용자의 코드가 프레임워크의 흐름에서 필요할 때 불러 사용하고 라이브러리는 사용자의 코드 흐름에 맞춰 사용자가 필요할 때 라이브러리를 불러 사용한다. 스프링은 프레임워크이고, 개발자가 클래스를 짜놓으면 스프링이 필요할 때 객체 생성, 초기화, 사용, 소멸(라이프사이클)을 관리한다. 이렇게 제어의 흐름을 개발자가 아닌 프레임워크가 갖는 설계 원칙을 IoC(Inversion of Control)라고한다. IoC Container 스프링에서 사용하는 BeanFactory를 상속받은 ApplicationContext는 스프링이 IoC 기능을 위해 객체상태를 관리하는 컨테이너다 어떤 요청이 들어와서 어떤 객체가 컨테이너에 ..

스프링

Spring Security의 구조, 인증 인가 처리과정

스프링 시큐리티는 스프링 기반의 애플리케이션에서 인증과 권한을 통해 접근을 필터로 제어하는 프레임워크로 개발자가 보안 관련 로직을 일일히 작성하지 않아도 된다는 장점이 있다. 인증, 인가? 인증(Authentication) : 해당 사용자가 본인이 맞는지 확인하는 과정 인가(Authorization) : 해당 사용자가 요청하는 자원을 실행할 수 있는 권한이 있는가 확인하는 과정 인증을 로그인을, 인가는 로그인이 필요한 서비스에 접근하는 것이라고 보면 된다. Spring Security에서는 인증, 인가를 위해 Principal을 아이디로, Credential을 비밀번호로 사용하는 Credential 기반의 인증 방식을 사용한다. Principal(접근 주체) : 보호받는 리소스에 접근하는 대상 Crede..

스프링

[SpringBoot] applicaiton 설정파일 분리를 통한 gitignore

슬슬 프로젝트 시작하면서 맨날 강의들을 때 쓰던 H2 DB가 아니라 MySQL 연결하면서 application 설정파일에 db url, username, password 등을 깃허브에 노출시키면 안될 것 같아 구글링해서 적용한 ignore 하고 싶은 application을 깃허브에 올리는 application에 import하는 방법을 정리한다. 방법 1. 민감정보를 담은 application-dev.yml 파일 생성 해당 파일의 on-profile 정보 작성 적용시엔 {} 없이 자신의 DB URL, User Name, Password 작성 spring: config: activate: on-profile: dev datasource: driver-class-name: {DBDriverClass} url:..

비오베베
'spring' 태그의 글 목록 (2 Page)