[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..
[CS / 기술면접] 개발자 기술 면접 준비 - 자바
·
Computer Science
📕 Java의 특징을 설명해주세요. 자바(Java)는 절착적 언어와 다르게 객체 지향 언어로 개발된 프로그래밍 언어입니다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하기 때문에, 운영체제와는 독립적으로 동작할 수 있습니다. 또한 “가비지 컬렉션”에 의해 메모리가 자동 관리되며, “멀티 쓰레드”를 지원합니다. JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다는 단점이 있습니다. 📕 JVM의 역할에 대해 설명해주세요. 자바 가상 머신(JVM, Java Virtual Machine)이란 운영체제 위에서 자바 바이트 코드를 실행시키기 위한 가상의 기계라고 할 수 있습니다. 자바 바이트 코드(Java Bytecode) - 자바 가상 머신이 이해할 수 있는 언어로 변환..
[Java / Spring] MAC OS 스프링 빌드 후 배포
·
Spring
0. AWS EC2, RDS 활용 Sping boot 빌드, 배포 스프링 인스타그램 클론코딩 프로젝트 진행 중 무중단 배포 테스트를 위해 AWS EC2와 RDS를 사용하였다 EC2 인스턴스로 리눅스 서버를 구축하고 RDS로 MariaDB를 구축하고 탄련적 IP로 IPv4 주소를 할당 한 후 한국도메인 사이트를 이용하여 도메인을 설정하였다 이후 리눅스 서버를 깃허브와도 연동하여 CI/CD(Continuous Integratio/Continuous Deployment)로 자동화를 하려고했으나 AWS 프리티어의 적은 RAM 용량으로 빌드 중 계속해서 서버가 멈추는 현상이 발생해서 노트북 개인서버를 포트포워딩으로 접속하는 방식으로 바꾸었다. (노트북을 안끄면 무중단배포니깐...) 1. MAC OS에서 스프링 빌..
[Java / Spring] 싱글톤 컨테이너
·
Spring
- 싱글톤 컨테이너 - 웹 애플리케이션과 싱글톤 - 싱글톤 패턴 - 싱글톤 컨테이너 - 싱글톤 방식의 주의점 웹 애플리케이션과 싱글톤 스프링은 기업용 온라인 서비스 기술을 지원하기 위해 탄생 대부분 스프링 애플리케이션 -> 웹 애플리케이션 - > 보통 여러 고객이 동시에 요청 package hello.core.siglectone; import hello.core.AppConfig; import hello.core.member.MemberService; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework..
[Java / Spring] 스프링 빈 조회
·
Spring
- 스프링 컨테이너와 스프링 빈 - 컨테이너에 등록된 모든 빈 조회 - 스프링 빈 조회 기본 - 스프링 빈 조회 동일한 타입이 둘 이상 - 스프링 빈 조회 상송관계 컨테이너에 등록된 모든 빈 조회 package hello.core.beanfind; import hello.core.AppConfig; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public ..
마볼링
'java' 태그의 글 목록 (8 Page)