분류 전체보기
-
Spring Boot : SecurityConfig.java 정리Spring Boot 🍃 2023. 12. 17. 00:01
Spring Boot 2.7 ~ 3.1 동작 확인 debug 설정 + Basic 인증 사용 + h2 web console = true 설정한 경우 @EnableWebSecurity(debug = true) @Configuration public class SecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http, HandlerMappingIntrospector introspector) throws Exception { MvcRequestMatcher.Builder mvcMatcher = new MvcRequestMatcher.Builder(introspector); http.authorizeHttpRequ..
-
VSCode Terminal font 설정IDE/Visual Studio Code 2023. 12. 17. 00:01
참고한 곳 : https://snowdeer.github.io/tips/2022/03/02/visual-studio-terminal-font-setting/ 1. Ctrl + , 를 누르거나 File - Preferences - Settings 메뉴로 진입 2. 상단에 보이는 검색창 Search settings 에 font family 입력 후 천천히 스크롤 내리면서 Terminal > Integrated: Font Family 라고 적힌 칸을 찾는다. 3. 발견했다면 내 컴퓨터에 설치 된 폰트 이름을 가져와 적는다. 나는 windows cmd에서 FiraCode Nerd Font 를 사용하고 있기 때문에 통일 시켜 주었다.
-
Spring Boot : DB 연동 안했을때 Security 로그인 계정 관리하는 방법 2가지Spring Boot 🍃 2023. 12. 17. 00:01
참고 : https://inf.run/Nkj2q DB 연동 안했을 때 접속 계정 설정은 application.yml에서 관리 할 수도 있지만 Security Configuration 설정으로도 관리할 수 있다. 방법 1: application.yml 설정 application.yml 로 관리할 경우 1개의 계정만 설정 가능! spring: security: user: name: zhyun password: qweasd roles: USER 방법 2: SecurityConfig.java 설정 SecurityConfig.java 로 관리하면 여러개의 계정을 설정할 수 있다. 기본 인증을 진행하기 위해 비밀번호 앞에 {noop}을 입력해주었다. 방법 2-1 @Configuration public class S..
-
Spring Boot : intelliJ에서 HTTP API 테스트시 POST 요청으로 CSRF 토큰과 Json데이터 보내기Spring Boot 🍃 2023. 12. 17. 00:01
security 설정으로 csrf 옵션을 꺼놓지 않는 이상 csrf 토큰을 함께 전달해야 한다. csrf는 user 인증 후 /logout 주소로 get 요청 보내서 얻어냄 😬 CSRF 토큰과 JSON 데이터를 함께 보낼때 Header에 csrf 정보 및 json content-type 추가 X-CSRF-Token: csrf토큰 Content-Type: application/json Body에 Json 데이터 입력 { "key": "value" } 실행 확인!
-
Spring Boot : intelliJ에서 HTTP API 테스트시 Security HTTP 기본 인증 Header 설정 및 로그아웃Spring Boot 🍃 2023. 12. 17. 00:01
HTTP 기본 인증 Header 설정 Spring Security 의존성 추가 후 서버를 동작시키면 HTTP Basic 인증을 거쳐야 api 통신을 할 수 있다. HTTP Basic 인증은 base64로 인코딩 되기 때문에 아래 사이트를 통해 아이디, 비밀번호를 base64로 인코딩 한 후 header에 함께 보내면 된다. https://www.base64decode.org/ 인코딩 할 데이터 형태 Username:Password header 요청 데이터 형태 Authorization: Basic base64EncodedData 로그아웃 1. /logout 주소로 GET 요청을 보내서 csrf 값을 복사한다. 2. /logout 주소로 POST 요청으로 csrf 값을 보낸다. 이때 Content Type..
-
Go : packageLanguage/고 Go 2023. 12. 17. 00:01
출처 : https://inf.run/tfefs 패키지 패키지 선언으로 코드 구조화(모듈화) 및 재사용 가능 응집도는 높이고, 결합도는 느슨하게 해야 유지보수가 쉽고 가독성이 좋으며 재사용이 가능한 클린 코드가 된다. 그렇기 때문에 다른 언어와 마찬가지로 go 또한 패키지 단위의 독립적이고 작은 단위로 개발한다. 패키지 이름 = 디렉토리 이름 main 함수가 들어있지 않은 소스 파일들은 디렉토리 명을 패키지 명으로 사용한다. package main main 패키지는 특별하게 인식한다. 컴파일러는 main 패키지를 공유 라이브러리가 아니라, 프로그램의 시작점 start point로 인식한다. main 함수는 무조건 main 패키지에서 작성되어야 하며, 이외의 파일들은 자신이 소속된 폴더 이름을 패키지 명으..
-
Go : Switch 조건문Language/고 Go 2023. 12. 17. 00:01
출처 : https://inf.run/tfefs 구조 switch Expression { case condition: // code case condition: // code default: // code } 특징 1. switch 절에 Expression 생략 가능 특징 2. case 절에 expression 사용 가능 특징 3. switch와 case의 들여쓰기 깊이가 같아야 함 예제 1 func main() { a := -7 switch { // expression 생략 case a 0: fmt.Println(a, "은(는) 양수") } } 예제 2 공식문서에 의하면 go 에서 switch문에 사용할 변수를 생성할 때는 예제1 처럼 switch문 밖에서 선언하는것 보다 아래와 같이 Expressio..
-
Go : if 조건문Language/고 Go 2023. 12. 17. 00:01
출처 : https://inf.run/tfefs Go 에서의 if 조건문은 다음의 특징을 갖는다. if 문의 조건절 작성 시 소괄호가 없음 컬리 브레이스 시작 문자 {를 조건절 옆에 작성해야 한다. 조건절의 결과가 정확하게 true, false인 식만 사용할 수 있다. 자동 형변환이 불가능하기 때문에 1 또는 0을 반환하는 식은 사용할 수 없음 if문 예시 1 package main import "fmt" func main() { a := 10 if a > 100 { fmt.Println("a는 100 보다 크다.") } else if a > 50 { fmt.Println("a는 50 보다 크다.") } else { fmt.Println("a는 50 보다 작거나 같다.") } if b := 1; b