인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

정리

질문이 있습니다!

작성

·

253

0

안녕하세요.

사실 선생님 강의 시리즈 전체 다 들은지 꽤 됐습니다.

배운 걸 바탕으로 개인 사이드 프로젝트를 진행중에 있습니다.

 

저의 경우 Spring Security 와 JWT를 함께 써서 로그인 및 인증인가를 처리하고 있습니다.

 

지금까지 한 방식은 다음과 같습니다.

만약 사용자 정보를 삭제하는 요청이 수행되기 위해서는 먼저 컨트롤러에서 요청을 받고, 서비스 내부에 기능을 수행하고 리턴을 해주는데, 서비스 내부 메소드에서 현재 접속중인 유저의 세션을 Authentication auth = SecurityContextHolder.getContext().getAuthentication() 을 이용해서 세션 정보를 받아주고,

 

메소드의 들어온 userId 가 현재 로그인 된 유저의 userId 가 같다면 삭제되게 로직을 만들어서 작동도 잘 됩니다.

 

다만, 생각을 해보니 Service 에서는 보통 도메인의 비즈니스 로직이 들어가야하는데 저의 경우는 Spring Security를 여기에 의존해서 쓰고 있어서 문제가 될 수 있다고 생각해서 한 가지 의문이 들어서 질문 드립니다.

 

  1. 선생님은 보통 실무에서 인증인가를 어디서 처리하시나요?
  2. 서비스 안에서 Security를 의존하는 방식이 문제가 될까요?

 

문제가 된다면 다음과 같은 방식으로 해결하고자 하는데 어떤지 조언 부탁드리겠습니다.

1. 서비스 로직 진입 전 필터계층을 aop로 두고, 해당 API, 즉 컨트롤러에 진입할 때 필터 계층에서 미리 걸러주는 방법

2. 컨트롤러에서 인증에 필요한 정보를 미리 뽑아서 서비스 메소드 파라미터로 전달해주기


감사합니다 ^^

답변 1

1

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

안녕하세요. 이재윤님

죄송하지만 질문 안내에 있는 것 처럼 강의 학습에 관련된 질문을 올려주시길 부탁드립니다.

저도 마음으로는 도움을 드리고 싶지만, 하루에도 수 많은 분들이 질문을 올려주십니다. 그래서 강의 학습과 관련된 질문에 초점을 맞추는 것이 맞다 생각합니다. 다시한번 이해를 부탁드립니다.

 

네 죄송합니다 제가 생각이 짧았던 것 같습니다 ㅠㅠ

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기