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

aanicall님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

스프링 시큐리티의 필터를 동적으로 적용할 수 있나요?

해결된 질문

작성

·

152

0

안녕하세요.

아직 강의를 듣는 초반입니다. 미리 기능의 가능 여부가 궁금하여 여쭤봅니다.

클라이언트의 요청을 필터의 설정에 따라 인증/인가 등을 판단하는데요.

필터에 설정하는 값들을 DB 또는 파일 등에 넣어 놓고 실시간으로 동적으로 요청이 올때의

값을 읽어와서 필터링 하는것도 혹시 가능할지 궁금하여 여쭤봅니다.

설정이 초기에만 로드되어 계속 사용 되는 것인지 아니면 매 요청시에 설정을 확인하여 적용하는 것인지

매 요청시에 설정을 확인하면 해당 요청시에 값을 동적으로 읽어 와서 적용시킬 수 있지 않을까 싶은 생각에서

가능한지 궁금합니다.

 

답변 1

0

정수원님의 프로필 이미지
정수원
지식공유자

원칙적으로는 설정은 초기화 과정에서 이루어지기 때문에 실제 요청 중에 값들을 동적으로 대체할 수는 없습니다.

시큐리티가 초기화 설정들을 변경할 수 있는 여러가지 API 들을 제공하고 있어서 필터링은 가능하지만 런타임 중에 변경할 수는 없습니다.

다만 초기화를 구성하고 있는 여러 클래스들의 처리과정과 구조 등을 깊이 파악하고 있다면 원칙을 깨뜨릴 수 있는 방법이 존재할 수도 있습니다.

예를 들어 후반부에 나오는 권한 설정도 초기화 설정 때 한번 이루어지는 과정이지만 이것을 DB 와 연동해서 동적으로 처리할 수 있는 방법을 안내하고 있습니다.

즉 해당 기능이 어떤 처리 흐름과 원리로 이루어지는지를 정확하게 파악하고 있다면 나름 확장포인트를 발견해서 동적인 기능을 구현할 수도 있습니다

참고로 이건 Advanced 한 고급 영역이라 할 수 있기 때문에 여러 상황과 경우에 따른 오버헤드나 이슈가 발생하지 않도록 정확하고 깊은 이해를 바탕으로 구현해야 합니다.

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

답변 감사합니다. ^^

DB와의 연동 처리하는 방법에서 내용을 확인해 봐야겠습니다.

aanicall님의 프로필 이미지

작성한 질문수

질문하기