• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Spring Security 관련 질문입니다.

21.04.29 22:05 작성 조회수 393

0

안녕하세요!

로드맵대로 강의를 마치고 이제 실제로 토이 프로젝트를 구현해보고 있습니다.

Authorization 헤더에 JWT토큰을 태워서 보내는 형태로 인증을 구현하려고 하는데요.

보통 Spring Security를 사용한다고 나와있어서 해당 라이브러리를 같이 설치한다음 작업하고 있습니다.

관련해서 검색하면서 살펴보고 있는데 제공하는 기능들이 너무나도 많아서 실무에서는 어떤걸 많이 사용하는지 정말 헷갈리네요.

찾아보니 @Secured, @PreAuthorize, @RolesAllowed 라는 3가지의 방법이 존재하는 것 같은데, 실무에서는 어떠한 방법을 사용하나요?

(물론 요구사항에 따라 다르겠지만 일반적으로 사용하는걸 알려주시면 제가 검색해서 찾아보겠습니다ㅎㅎ개인적으로는 @PreAuthorize를 사용해서 엔드포인트마다 권한을 세분화하는게 좋다고 생각합니다.)

답변 2

·

답변을 작성해보세요.

1

안녕하세요. teamhide님

어떤 방법을 사용하셔도 괜찮을 것 같아요.

여기서 드리고 싶은 조언은 학습을 하신다면 스프링 시큐리티, JWT없이 세션과 필터로 로그인 기능을 구현하시기를 추천합니다.

그래야 웹 애플리케이션을 깊이있게 이해할 수 있습니다.

감사합니다.

0

teamhide님의 프로필

teamhide

질문자

2021.05.06

한가지 질문이 더생겨서 작성합니다.

찾아보니 Interceptor라는 기능도 있어서 filter와 둘 중 무엇을 사용할 지 고민이 되네요.

저는 현재 특정 엔드포인트(컨트롤러)마다 별도의 권한을 부여하는 기능이 필요합니다.

그래서 Interceptor만으로도 충분히 구현이 가능할 것으로 생각이 됩니다.

<질문>

1. 찾아보니 로깅과 같이 전역적으로 처리해야하는 부분은 filter를 사용하고 엔드포인트(컨트롤러) 별로 디테일하게 인증/권한 처리는 interceptor로 한다는 글을 봤는데 위에 말씀드린 제 요구사항에 따르면 interceptor로 구현하는것도 괜찮은 방법이라고 생각합니다. 이 부분에 대해서 영한님의 생각을 듣고 싶습니다.

2. 실무에서는 인증처리와 관련해서 일반적으로 어떤것을 사용하나요?

감사합니다.

안녕하세요. teamhide님

둘 중에 아무것이나 사용해도 되지만, interceptor를 사용하는 것이 더 편리합니다.

필터와 인터셉터의 사용성에 대한 차이는 조만간 출시 예정인 MVC 2편에서 자세히 설명드립니다^^

감사합니다.

teamhide님의 프로필

teamhide

질문자

2021.05.09

감사합니다!