일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자료구조와 함께 배우는 알고리즘 입문
- 데비안
- 자바편
- 티스토리 쿠키 삭제
- 리눅스
- 알파회계
- resttemplate
- 스프링부트핵심가이드
- network configuration
- /etc/network/interfaces
- Kernighan의 C언어 프로그래밍
- 코드로배우는스프링웹프로젝트
- 친절한SQL튜닝
- 자료구조와함께배우는알고리즘입문
- 이터레이터
- 코드로배우는스프링부트웹프로젝트
- baeldung
- ㅒ
- 처음 만나는 AI수학 with Python
- 목록처리
- 네트워크 설정
- iterator
- GIT
- d
- 스프링 시큐리티
- 구멍가게코딩단
- 처음 만나는 AI 수학 with Python
- 서버설정
- 페이징
- 선형대수
- Today
- Total
목록Framework/Spring Security (8)
bright jazz music
UserDetailsService와 PasswordEncoder 사용방법 실습한다. UserDetailsService형식의 맞춤형 빈을 정의해서 스프링 시큐리티에 있는 기본 구성요소를 재정의하는 방법을 배운다, 예제에서는 inMemoryUserDetailsManager를 구현하여 이용함. 이는UserDetailsService보다 복잡하지만 일단 사용함. 이 구현은 메모리에 자격증명을 저장해서 스프링 시큐리티가 요청을 인증할 때에 이용할 수 있게 한다. (실제 운영에는 사용하지 않는다. 예제나 개념 증명 poc 용으로 적합하다. 다른 부분을 구현하지 않아도 된다) 1. 구성 클래스 정의 package com.example.ssiach2ex1; import org.springframework.context...
org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-web package com.example.ssiach2ex1; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/hello") public String hello(){ return "hello!!!!!!"; } } #실패(인증값을 넣지 않았음) $ curl..
진행 중 SecurityConfig.java //SecurityConfig.java package com.example.common; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org..
http.logout() : 로그아웃 기능 작동 logoutUrl("/logout") : 로그아웃 처리 되는 URL 입력 logoutSuccessUrl("/login") : 로그아웃 성공 후 이동할 페이지. 예문에서는 로그아웃 후 /login으로 이동한다. deleteCookies("JSESSIONID", "remember-me") : 로그아웃 후 쿠키 삭제, remember-me는 로그아웃 후에도 로그인 없이 접근 가능하도록 하는 쿠키 addLogoutHandler(logoutHandler()) : 로그아웃 됐을 떄 스프링 시큐리티가 기본적으로 제공하는 로그아웃 구현체가 있다. 그 구현체에서 실제로 세션을 무효화하고 인증 토큰을 삭제하는 등의 처리를 한다. 그러한 기본적인 처리 외에 추가적인 처리를 하..
usernamePasswordAuthenticationFilter : 로그인 폼 인증 처리. formLogin()과 그 하위 API들을 설정하면 인증처리가 초기화 되면서 로그인 인증처리가 작동할 수 있도록 시큐리티가 구성작업을 한다. 실제 사용자가 로그인을 하게 되면 인증처리를 담당하고 그 요청을 처리하는 필터가 이 필터이다. 이 필터가 내부적으로, 각 인증처리 역할에 따라서 여러 클래스를 활용하여 인증 처리를 하게 된다. 인증처리 과정 - 사용자 요청 - 필터가 그 요청을 받는다. - AntPathRequestMatcher() 메서드를 사용해서 요청 정보가 매칭되는지 확인. 기본값을 /login. loginProcessingUrl() 이 값이 변경되면 그에 맞게 AntPathRequestMatcher(..
1. Form 로그인 절차 설명 1. 접근 시도 2. Form 리다이렉트 3. POST[ id + pw] 인증처리- 계정 정보가 맞는 경우 스프링 시큐리티가 세션 생성 객체 생성- 세션에 최종 성공한 인증결과를 담은 인증 토큰 객체(Authetication 클래스)를 시큐리티 컨텍스트에 생성. 저장 - 이 시큐리트 컨텍스트를 세션에 저장한다. 4. 클라이언트가 다시 접근을 시도하면, 스프링 시큐리티는 사용자가 가진 세션으로부터 토큰 존재 여부판단. 그 토큰으로 계속 접근. 스프링 시큐리티는 토큰에 기반해 인증 유지/ 2. 폼 로그인 인증 방식에서 사용하는 API 설명 http.formLogin()을 적어주면 폼 로그인 인증 기능이 작동 loginPage() : 경로를 적어주면 사용자 정의 로그인 페이지 ..
WebSecurityConfigurerAdapter : 스프링 시큐리티의 웹 보안 기능을 초기화 하고 설정하는 핵심 클래스이다. 의존성 추가하고 스프링 시큐리티가 초기화 보안 기능을 활성화 하고 보안 기능을 설정하는 클래스가 이 클래스이다. 여기서 HttpSecurity 클래스를 생성하고, 이 클래스가 세부적인 보안 설정을 가능케 하는 API를 제공한다. SecurityConfig 클래스 생성 - WebSecurityConfigurerAdapter 상속 - 내부에서 HttpSecurity 클래스 생성 스프링 시큐리티가 추가된 상태에서 서버를 기동하면 WebSecurityConfigurerAdapter 클래스가 작동한다. HttpSecurity 객체를 생성하고 그 것을 사용해서 대략 11개 정도의 API들..
1.1. 프로젝트 구성 1.2. 테스트를 위한 컨트롤러 생성(SecurityController.java) package io.security.basicsecurity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class SecurityController { @GetMapping("/") public String index(){ return "home"; } } 1.3. main 메서드 실행 브라우저를 열고 아래의 주소 입력 http://localhost:8080 ==> 아직 스프링 시큐리티..