강의

멘토링

커뮤니티

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

twosom님의 프로필 이미지
twosom

작성한 질문수

스프링 시큐리티

6) Ajax Custom DSLs 구현하기

실무에서는 DSL 방식을 자주 쓰나요?

해결된 질문

작성

·

721

0

DSL 방식을 접하고 나니 클래스 하나에 인증 핸들러 같은 것을 설정 해둘 수 있으니 편리하고 좋은데요,

1.실무에서는 이 방법을 자주 사용하나요? 아니면 기존처럼 http 메소드를 이용하여 설정하는 편인가요?

2. 그리고 DSL 클래스 에서 configure 메소드 마지막 부분에

http.setSharedObject() 에서 Ajax 로그인 필터와, getAuthenticationFilter() 메소드를 파라미터로 지정하셨는데, 이게 어떤 메소드인지 검색해도 이해가 잘 안되서 그러는데, 설명 해주실 수 있으신지요.

항상 좋은 강의 감사합니다.

답변 1

1

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

1.실무에서는 이 방법을 자주 사용하나요? 아니면 기존처럼 http 메소드를 이용하여 설정하는 편인가요?

실무적으로 많이 쓰이는 지는 저도 잘 모르겠습니다.

저도 dsl 을 실무적으로 많이 사용하지는 않는 것 같습니다.

다만 보안 시스템의 규모가 많이 커질 경우에는 좀 더 구조화된 아키텍처가 필요할 수 있기 때문에

여러군데서 인증 구간이 다르거나 또는 인증 도메인을 별도로 분리해서 구축해야 하는 경우에는

dsl 로 구조화 시키면 더 좋을 것 같습니다.

일반적인 경우에는 http 방식으로 해도 괜찮을 것 같습니다. 

2. http.setSharedObject() 관련 질문

이건 httpSecurity 객체가 가지고 있는 메서드인데 스프링 시큐리티 전반에 걸쳐서 공유가 필요한 객체를 저장하고 참조하기 위해 만든 것 같습니다.

스프링의 빈이 아닐 경우 주입을 받거나 하지 못하지만 공유객체를 통한다면 httpSecurity 객체를 참조할 수 있는 곳이라면 공유객체에 저장된 데이터를 언제든 꺼내어 쓸 수 있기 때문입니다.

그런데 이건 스프링 시큐리티가 내부적으로 초기화 시 특정한 처리를 위해 사용하는 방법이지 어플리케이션 외부에서 참조해서 사용할 경우는 거의 없을 것 같습니다.

다만 스프링 시큐리티의 기능을 확장해서 무언가를 만들 경우에는 필요할 수도 있을 것 같습니다.

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

답변 감사드립니다. 확실히 규모가 큰 프로젝트에서는 여러 보안 정책을 만들 경우에 깔끔하게 정리할 수 있을 것 같은 느낌이 드네요! 오늘도  배우고갑니다 ㅎㅎ

twosom님의 프로필 이미지
twosom

작성한 질문수

질문하기