공부/Spring Security5 HTTP Basic 인증 방식 HTTP Basic 구성인증 프로세스가 실패했을 때, 특정 비즈니스 로직을 수행하도록 구현하려면 어떻게 해야 할까?인증 과정에서 클라이언트로 반환하는 값의 일부를 설정하기 위해서는 어떻게 해야 할까?[SecurityFilterChain을 설정]HttpSecurity를 파라미터로 받음HttpSecurity의 httpBasic을 설정이 방식을 활용하면 인증 방식과 관련된 일부 구성을 설정할 수 있음 HttpSecurity기본 HTTP Basic 설정을 하기 위해서는 Customizer.withDefaults()를 사용하면 됨만약 realm 이라고 하는 인증 영역을 설정하고 싶은 경우에는 httpBasic의 속성을 활용하면 됨. => 401 Unauthorized가 되게끔 API를 호출하면 Bas.. 2025. 1. 1. PasswordEncoder 와 암호처리 PasswordEncoder 인터페이스PasswordEncoder 인터페이스를 통해 스프링 시큐리티에서 사용자 암호를 검증하는 방법을 알 수 있음인증 프로세스에서 암호가 유효한지 확인하는 과정을 거침암호에 대한 인코딩을 수행할 수 있음인터페이스에는 두 개의 메소드과 하나의 default 메소드가 정의되어 있음 encode(CharSequence rawPassword)주어진 암호의 해시를 제공암호화를 수행matches(CharSequence rawPassword, String encodedPassword)인코딩된 문자열이 원시 암호와 일치하는지 검증upgradeEncoding(CharSequence encodedPassword)기본적으로 false를 반환true를 반환하도록 메소드를 재정의하면 보안 향상을.. 2024. 12. 31. UserDetails 사용자 관리를 위한 인터페이스 소개UserDetailsService와 UserDetailsManager 인터페이스를 이용하여 사용자 관리를 수행함(CRUD 기능)UserDetailsService는 사용자 이름으로 사용자를 검색함(Read)UserDetailsManager는 사용자 추가, 수정, 삭제 작업을 수행함(Create, Update, Delete)두 인터페이스의 분리는 5대 객체 지향 프로그래밍 원칙(SOLID) 중 I에 해당하는 Interface Segregation Principle에 해당함인터페이스 분리 원칙 : 사용하지 않는 인터페이스에 강제로 의존해서는 안됨따라서, read와 write 관련 인터페이스를 분리햐두었기 때문에 프레임워크의 유연성이 향상됨사용자를 인증하는 기능한 필요하면 Us.. 2024. 12. 31. Spring Security 기본 구성 - 전반적인 스프링 시큐리티의 아키텍처에 대해 알아보고 커스텀하게 사용해보자!- 인증 프로세스를 구현하기 위해 스프링 시큐리티는 여러 컴포넌트로 구성되어 있음(인증 필터, 인증 관리자, 인증 공급자, 암호 인코더, 사용자 세부 정보 서비스, 보안 컨텍스트) 스프링 시큐리티 아키텍쳐(1) 큰 관점에서는 클라이언트는 요청을 서버로 전달함(2) 인증필터가 요청을 가로챔(intercept)인증 필터는 인증 요청을 가로채 인증 관리자에게 위임(3) 인증 관리자는 인증 논리를 구현하는 인증 공급자를 이용하여 인증을 처리(4) 인증 공급자는 사용자 관리 책임을 구현하는 사용자 세부 정보 서비스를 인증 논리에 이용함 ( 사용자 검증 )인증 공급자는 암호 관리를 구현하는 암호 인코더를 인증 논리에 이용 (비밀번호 검증).. 2024. 12. 29. Spring Security 시작 스프링 부트와 스프링 시큐리티스프링 프레임워크를 수월하게 사용하기 위해서 스프링 부트가 개발됨- 미리 설정된 스프링 부트의 옵션만 사용하더라도 기본적인 애플리케이션 개발이 가능하며, 필요에 따라 재정의가 가능함- 이런 접근법을 "설정보다 관습(convention-over-configuration)" 이라고 함- 덕분에 개발자는 비즈니스 로직을 구현하는데 훨씬 더 많은 시간을 투자할 수 있음 스프링 시큐리티 코드https://github.com/spring-projects/spring-security GitHub - spring-projects/spring-security: Spring SecuritySpring Security. Contribute to spring-projects/spring-secur.. 2024. 12. 29. 이전 1 다음