• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Form 기반 인증의 장점?

21.12.10 14:59 작성 조회수 130

0

안녕하세요!

저희가 이전에 vue.js와 같은 SPA 기반의 Frontend 페이지를 구현하고 springboot rest-api로 데이터

통신을 하면서 인증은 JWT Token 기반으로 인증을 수행했었습니다.(Interceptor를 통해 Token 유효성 검증)

서버에서 별도의 세션 관리를 하지 않은 장점도 있었던것 같습니다.

 

새로운 프로젝트를 할때 form 기반의 인증을 검토중입니다.

아직 전부다 공부하지 못해 이해가 부족하여 질문 드립니다.

 질문) front와 server가 분리된 구조에서 form 기반의 security 인증의 장점이 궁금합니다.

감사합니다.

 

 

답변 1

답변을 작성해보세요.

0

form 기반의 인증은 흔히 세션인증을 의미합니다.

세션인증은 서버에서 생성하고 발급하는 쿠키로 관리되어지기 때문에 클라이언트와의 상태값을 계속적으로 유지할 수 있다는 장점이 있습니다.

그렇기 때문에 인증 구현 시 사용자의 유효성 검증이 명확하고 세션을 서버에서 관리하기 때문에 안전하기도 합니다.

이것은 개발자의 몫이 아니라 was 에서 처리해 주기 때문에 토큰 인증 처럼 접속할 때마다 해당 클라이언트의 유효성 검증을 위해 별도로 구현하지 않아도 됩니다.

또한 인증 시도에 있어 이상한 흐름이나 해킹에 노출되었다고 판단할 경우 강제로 로그아웃 해서 세션을 폐기하거나 만료할 수 있습니다.

사실 전통적으로 세션기반인증이 가장 익숙하기도 하고 전역적으로 데이터를 저장하고 꺼내어 사용할 수 있는 메커니즘을 제공하기 때문에 비즈니스 로직을 구현하거나 사용하기 쉽다는 장점도 있습니다.

스프링 시큐리티에서는 세션 기반인증이 기본이라 할 수 있으며 로그인 처리에 있어서 여러 항목의 API 가 제공되어 쉽게 구현이 가능합니다.

 

장점이라기 보다는 저마다 인증방식에 따른 처리과정이 다르고 스프링시큐리티가 세션 기반으로 인증하는 부분을 쉽고 편리하게 구조화했다고 보시면 됩니다

강의에서 폼 인증 흐름에 대해서 자세하게 설명하고 있으니 참고 바라겠습니다