-
내일배움캠프 28일차코딩공부 2023. 6. 23. 22:22
오늘은 스프링 숙련 강의의 거의 마무리 단계까지 들었다.
https://haeinj-backend-study.tistory.com/51
Spring 숙련 1주차(작성중)
Bean을 수동으로 등록하는 방법 보통 - 자동등록을 사용하는 것이 편리 수동등록 - 기술적인 문제, 공통적인 관심사를 처리할 때 사용(기술지원 bean 등) BCrypt: Hash 함수 matches(입력받은 평문, 암호
haeinj-backend-study.tistory.com
스프링 시큐리티 특강 메모
- 기존 자바와 스프링을 사용한 개발의 차이: 자바- 메인 클래스에서 직접 만듦 / 스프링 - 이미 뼈대가 만들어져 있고 거기에 살을 붙여 완성 (예: 컨트롤러)
- 스프링: 애노테이션과 상속 사용하는 프레임워크
- 컨트롤러: 요청을 받고 전달
- 서비스: 비즈니스 로직 수행
- 컨트롤러와 서비스 공통점: Ioc에게 제어됨
- @Bean: 빈으로 등록, 메서드가 리턴한 걸 전역변수처럼 사용
- Annotation
- 스프링 시큐리티: 중요, 어려움
- 스프링 시큐리티 학습의 핵심 네가지
- WebSecurityConfig
- 스프링 시큐리티 관련 설정을 해줌
- Configuration - 설정
- @EnableWebSecurity를 클래스 위에 작성
- @Configuration
- UserDetailsServiceImpl
- User
- UserDetailsImpl
- Impliment - 인터페이스 구현체
- @AuthenticationPrincipal
- WebSecurityConfig
- 인증, 인가 과정
- 인증 설정
- 1. 인증설정 (WebSecurityConfig.java) * WebSecurityConfig > http.formLogin() > UsernamePasswordAuthenticationFilter > SecurityFilterChain > 요청별 인증수행
- 인증 정보 받아오기 & 인증 객체에 넣기
- 2. 인증정보 받아오기 & 인증객체에 넣기 (UserDetailsServiceImpl.java) * UsernamePasswordAuthenticationFilter > UserDetailsService 구현 > loadUserByUsername() > User > UserDetails > Authentication (createSuccessAuthentication()에서 만들어짐)
- 인증정보 구현체
- 3. 인증정보 구현체 (UserDetailsImpl.java) * UserDetails 구현체 > UserDetailsImpl
- 인증객체에서 유저 디테일스 값 받아오기
- 4. 인증객체(Authentication)에서 UserDetails 값 받아오기 (@AuthenticationPrincipal) * Authentication > getPrincipal() > UserDetails > user
- 인증 설정
스프링 후발대 강의 메모
- 브랜치 전략
- git-flow 전략
- github-flow 전략 (간략, 소규모)
- OSI 7계층
- Web server와 Web Application Server
- Spring 3대 요소
- Ioc/DI
- AOP
- PSA
- 한 클래스를 변경해도 다른 클래스에 영향을 덜 미침
- singleton pattern
추가학습: MVC모델
'코딩공부' 카테고리의 다른 글
내일배움캠프 31일차 (0) 2023.06.28 내일배움캠프 29일차 (0) 2023.06.26 내일배움캠프 27일차 (0) 2023.06.23 내일배움캠프 26일차 (0) 2023.06.21 내일배움캠프 25일차 (0) 2023.06.21