본문 바로가기

CS21

SpringSecurity와 인증, 인가, JWT의 구조, 동작 과정 Spring Security의 구조와 JWT 발급 과정에 대해 설명해주실 수 있을까요? Spring Security란? 스프링 시큐리티는 인증(Authentication), 인가(Authorize) 부여 및 보호 기능을 제공하는 프레임워크이다. 인증(Authentication)과 인가(Authorize)란? 인증(Authentication) 인가(Authorization) 해당 유저가 실제 유저인지 인증하는 개념 해당 유저가 특정 리소스에 접근이 가능한지 허가를 확인하는 개념 ex) 스마트폰 지문인식, 사이트 로그인 ex) 해당페이지 - 관리자 권한 웹 애플리케이션 인증(Authentication) 일반적으로 서버-클라이언트 구조로 되어있고, 실제로 두가지 요소는 아주 멀리 떨어져있다. 그리고 Http .. 2023. 12. 27.
Web Server & WAS 웹서버(Web Server)란 브라우저가 웹 서버에서 불려진 파일을 필요로 할때, 브라우저는 HTTP를 통해 파일을 요청합니다. 요청이 올바른 웹 서버에 도달하였을때, HTTP 서버는 요쳥된 문서를 HTTP를 이용해 보내줍니다. 하드웨어 관점 "웹 서버의 소프트웨어"와 웹 사이트의 "컴포넌트 파일"들을 저장하는 컴퓨터 (컴포넌트 파일 : HTML, CSS, JS, 이미지) 웹 서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)을 주고 받을 수 있도록 한다. 소프트웨어 관점 웹 사용자가 어떻게 호스트 파일에 접근하는지를 관리 웹 서버는 HTTP 서버 형태로 존재(웹 구현 시)하며, HTTP서버는 HTTP의 소프트웨어 일부 사용자는 웹 브라우저에 접속한다. 웹 브라우저에서.. 2023. 12. 23.
MVC 모델이란 MVC 모델이란 무엇인지 설명해주실 수 있을까요? MVC는 Model, View, Controller의 줄임말로 프로젝트를 구성할 때 세가지 역할로 관심사를 분리하여 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 두고 있으며 더 나은 업무의 분리와 향상된 관리를 제공합니다. 사용자가 요청을 보내면 Controller는 Service에서 비즈니스 로직을 처리한 후 결과를 Model에 담습니다. Model은 저장된 결과를 바탕으로 사용자 요청에 따른 시각적 요소 출력을 담당하는 View를 제어하여 사용자에게 전달합니다. 즉 Model은 데이터를 조작하는 역할을 수행하고 View은 Controller에게 받은 Model의 데이터를 시각적으로 보여주기 위한 역할을 담당합니다. Controller는 Mod.. 2023. 12. 21.
[Spring] DI와 IoC DI와 IoC에 대해 아는 만큼 설명해주실 수 있을까요? DI(Dependency Injection) DI란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입기능으로 객체를 직접 생성하는게 아니라 외부에서 생성한 후 주입시켜주는 방식이다. DI(의존성 주입)을 통해서 모듈 간의 결합도가 낮아지고 유연성이 높아집니다. IoC(Inversion of Control) IoC(Inversion of Control)란 "제어의 역전"이라는 의미로, 말 그대로 메소드나 객체의 호출작업을 개발자가 결정하는 것이 아니라 외부에서 결정되는것을 의미한다. 객체의 의존성을 역전시켜 객체 간의 결합도를 줄이고 유연한 코드를 작성할 수 있게 하여 가독성 및 코드 중복, 유지 보수를 편하게 할 수 있게 한다. IoC.. 2023. 12. 19.