일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- 자바스크립트
- 데이터베이스
- 디비
- 백트래킹
- 보안
- API문서
- access control
- NEST
- node.js
- 되추적
- IT
- 컴퓨터보안
- 컴퓨터
- node
- 탐욕기법
- AWS
- 알고리즘
- DATABASE
- 인터럽트
- 스프링부트
- 컴퓨터 보안
- rest docs
- S3
- 병행제어
- ES6
- 백준
- 노드
- 운영체제
- DB
- Today
- Total
목록전체 (106)
개발스토리
스프링을 시작하면서 회원가입 & 로그인을 직접 구현하는 도중에 보안이나 권한 처리 등 직접 생각하고 구상할 것 들이 많아서 힘들어하는 와중에 스프링 시큐리티를 접하게 되었다. Spring Security가 뭘까...? 우리가 사용하는 대부분의 어플리케이션들 또한, 우리가 만드려는 어플리케이션에는 인증과 권한이 필요하다. 사용자 권한을 가진 사용자는 관리자 페이지로 이동이 안되는 것. 권한의 영역이다. 또한, 어플리케이션을 사용하기 위해 자신이 사용자라는 것을 인증하는 것. 이 두가지는 어떻게 보면 당연하면서도 생각보다 까다로운 것들이다. 왜냐면 각종 보안 위협에 대응도 해야 하고, 세션을 유지하는 과정 등 생각할 것이 많기 때문이다. 우선 정의부터 얘기하자면, ■ Spring Security는 엔터프라이..
스프링부트를 시작하고 얼마 안되고 나서.. 오류에 직면했다..! 컨트롤러에서 서비스를 주입 받아야 하는데 암만 해도 저 빨간색이 사라지지 않는 것.... 디렉토리가 이상한가 해서 살펴봐도 이건 아닌 것 같고... 검색을 해보니 인텔리제이 버그일 수도 있다 하는데 그건 정상 실행 됐을 때고.... 자꾸 삽질을 하고 있는 것 같아서 스트레칭 한 번 하고 에러 로그를 찬찬히 읽어봤다. 아까는 보이지 않던 친절한 로그를 발견....!! 이게 서비스 자체가 bean에 등록이 안되어 있는 것 같아서 서비스 파일을 천천히 읽어보니... 머가 상당히 이질감이........ 서비스 어노테이션이 없다....... 빨간색이 사라졌다... 어노테이션이 아직 익숙치 않고, 에러 로그를 제대로 안읽는 습관이 아직 남아있다...!..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. Nest에는 애플리케이션 전체에서 처리되지 않은 모든 예외를 처리하는 예외 레이어가 내장되어 있다. 코드에서 예외를 처리하지 않으면 이 레이어에서 예외를 포착하여 적절한 응답을 자동으로 보낸다. 기본적으로 이 작업은 HttpException 유형의 예외를 처리하는 내장 전역 예외필터에 의해 수행된다. 예외가 인식되지 않는다면 내장된 예외필터가 다음과 같은 기본 JSON 응답을 생성한다. { "statusCode": 500, "message": "Internal server error" } Throwing standard exceptions Nest는 @nestjs/common 패키지에 내장 HttpException 클래스를 제공한다. 특정 오류 조건이 ..
Nest 공식 문서를 바탕으로 정리한 게시글입니다. 컨트롤러는 들어오는 request를 처리한 후 response를 클라이언트에 반환한다. 라우팅 메커니즘으로 어떤 컨트롤러가 어떤 request를 수신하는 지 제어한다. 컨트롤러에 둘 이상의 라우트가 있을 수 있고 다른 작업을 수행할 수 있다. 기본 컨트롤러를 만들기 위해서는 클래스와 데코레이터를 사용한다. 데코레이터는 클래스를 필수 메타데이터와 연결한 후 Nest가 라우팅 맵을 만들 수 있도록 한다. Routing 코드를 통해 이해해보자. // cats.controller.ts import { Controller, Get } from '@nestjs/common'; @Controller('cats') export class CatsController {..