본문 바로가기

전체 글72

[TIL] #32. Spring Security [ Spring Security ] : 인증과 접근 제어를 위해 세부적인 맞춤 구성이 가능한 강력한 프레임워크 (스프링 애플리케이션에 보안 적용 과정을 간소화함)⇒ 보안을 위한 프레임워크⇒ 애플리케이션에 맞게 security를 맞춤 구성할 줄 알아야 한다 Spring Security의 인증 프로세스1. client 요청 → (controller에 도달하기 전에) filter가 가로챔2. 인증필터 - AuthenticationManager(인증관리자) 에 책임 위임 → AuthenticationProvider(인증공급자) 에 인증 로직이 구현되어 있음 → 인증처리3. 인증처리가 사용자 검증인 경우 : UserDetailsService / 암호 검증인 경우 : PasswordEncoder4. 인증결과 반환 .. 2024. 6. 5.
[TIL] #31. @Annotation [ Spring Annotation ] Spring의 다양한 기능- logging- @Component : Bean을 등록하기 위해 사용- @RequestParam : 요청 파라미터를 받음 @Controller vs. @RestController@Controller : view가 있는 경우에 사용return값이 String이면 viewResolver에 의해 View Name으로 인식된다@RestController : 응답한 data가 있는 경우에 사용대부분 이걸 사용함각 메서드마다 @ResponseBody를 추가하지 않아도 됨@Mapping : @Target을 확인하면 메서드를 어느 위치에서 사용할 수 있는지 확인할 수 있다.  @PathVariable: URL에 전달된 값을 파라미터로 받아오는 역할 (.. 2024. 6. 4.
[내가보려고 만드는 Spring] application파일 환경변수 사용하기 실행버튼 왼쪽 파일 선택 부분 > 가장 아래 Edit configuration... 선택> Build and run 오른쪽에 Modify options 선택> Environment variables 선택Environment variables 오른쪽의 문서모양 아이콘 선택> 필요한 variable의 name-value 입력// application.propertiesspring.datasource.password=${DB_PASSWORD}jwt.secret.key = ${JWT_SECRET_KEY}jwt.expiration = ${JWT_EXPIRATION}application.properties 파일에 적용 2024. 6. 3.
[TIL] #30. Filter [ Filter ] Filter 란- 보안, 로깅, 인코딩, 인증인가를 처리할 때 사용된다- servelt 전에 filter를 거쳐서 전/후처리를 한다.    ex) 일정을 요청할 때 - 올바른 사용자인지 체크하는 등 일정 조회 전에 필요한 기능들을 수행함 Filter Interface1. init (초기화) : 처음 구동될 때 필터를 등록해준다2. dofilter : 실제 필터 기능 로직  - 요청, 응답, 필터 체인을 호출할 수 있다  - filterchain 으로 다음 필터를 호출한다3. destory : 소멸될 때 필터를 제거한다 Filter Chain: 연쇄적으로 흘러간다 - dofilter에서 filter chain 값을 넘겨서 다음 chain으로 넘긴다 Spring Filterspring f.. 2024. 6. 3.
[TIL] #29. JWT [ 개인과제 - JWT ] config// JwtConfig@Configurationpublic class JwtConfig { @Value("${jwt.secret.key}") private String SECRET_KEY; @Value("${jwt.expiration}") private Long EXPIRATION; public static String staticSecretKey; public static Long staticExpiration; @PostConstruct public void init() { staticSecretKey = SECRET_KEY; staticExpiration = EXPIRATION; }}// .. 2024. 6. 3.
[TIL] #28. 인증/인가 [ 인증/인가 ] 인증 (Authentication) : 사용자의 신원 검증인가 (Authorization) : 사용자가 특정 기능에 엑세스할 수 있도록 권한을 부여하는 프로세스인증 방식의 종류1. Cookie  : key-value 형식의 문자열로 구성되어 있고, 클라이언트가 웹사이트를 방문할 때, 사이트가 사용하고 있는 서버를 통해 클라이언트의 브라우저에 설치되는 기록 정보 파일  - 단점 : 쿠키값이 그대로 노출되어 있기 때문에 보안에 취약하고 용량 제한이 존재함2. Session  : 인증정보를 서버 측에서 저장하고 관리하는 방식 (보안이슈). Session ID(key)와 value로 구성. value에는 생성시간, 마지막 접근 시간 등 데이터가 Map 형태로 저장됨  - 단점 : seesion.. 2024. 5. 30.