인프런 커뮤니티 질문&답변

LUA님의 프로필 이미지
LUA

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

애플리케이션 아키텍처

질문드립니다!

작성

·

333

1

제가 도메인, 서비스, 레포지토리 같은것들을 자바를 공부하며 처음 알게되었는데요

도메인이라고 하면 계속 www 같은 도메인이 떠오르네요

domain: 엔티티객체의 모음

service: 비즈니스로직

repository: 엔티티객체를 활용한 jpa코드사용

이렇게 생각하면 될까요??

그리고 웹어플리케이션을 만들때 만들기 나름이겠지만, 쿠키나 세션을 사용해서 로그인처리를 하는지 jwt를 사용하시나요?? 대부분의 웹서비스는 jwt필요없이 쿠키만으로 충분하다는 어느 유튜버분의 의견도 있던데 어떻게 생각하시는지 궁금합니다!

답변 3

3

김영한님의 프로필 이미지
김영한
지식공유자

네 LUA님 스프링 시큐리티를 사용하면 대부분의 보안 인증 구현이 가능합니다.

그런데 대부분의 애플리케이션이 스프링 시큐리티 없이도 단순하게 문제를 해결하기 때문에(필터나 세션 등을 활용해서), 스프링 시큐리티는 꼭 필수라기 보다는 옵션입니다.

하지만, 스프링 시큐리티를 통해 보안, 인증의 고급 메커니즘을 이해할 수 있으므로, 배워두시는 것은 두고두고 도움이 됩니다.

감사합니다^^

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. LUA님

domain, service, repository

사용하는 아키텍처에 따라서 해석이 조금씩 달라집니다. 그래서 정확한 답은 아니지만 우선은 질문하신 정도로 이해하시면 충분합니다. 더 깊이있는 내용은 도메인 주도 설계(DDD) 같은 내용을 책으로 한번 보시면 좋습니다.

로그인은 우선 세션 등을 이용해서 가장 쉬운 방법으로 사용하는 것을 권장합니다. 대부분은 세션으로 충분합니다. 핵심은 민감한 사용자 정보를 서버에 잘 숨기면 됩니다. 제 개인적인 생각이지만, 95%의 시스템은 세션으로 충분히 대응가능합니다. jwt는 사용자 정보를 미리 말아두고 인증서버 호출 없이 JWT를 풀어서 사용자 정보를 바로 풀어 볼 수 있다는 장점이 있습니다. 하지만 메커니즘이 단순하지 않아서, 시스템이 정말 복잡하고, 트래픽이 많지 않다면 단순한 세션을 사용하는 것을 권장드립니다.

감사합니다.

0

LUA님의 프로필 이미지
LUA
질문자

자세한 답변 감사드립니다! 제가 워낙 초보라서 이것저것 공부하며, jpa나 서비스를 만드는것에 대해서는 어느정도의 감은 잡히는데 실무에서 로그인이나 인증부분을 구현할때는 거의 스프링 시큐리티 만으로도 해결이 가능한가요??

즉 실무에서 스프링부트로 어플리케이션을 구현할 때 스프링 시큐리티 만으로도 대부분에 구현이 해결될지 궁금합니다

LUA님의 프로필 이미지
LUA

작성한 질문수

질문하기