1

매우 간단한 질문이 있습니다. 내 응용 프로그램에 SESSION 범위의 bean 인 STATELESS이 있으면 어떻게됩니까?응용 프로그램이 상태 비 저장 인 경우 세션 빈

긴 이야기. 나는 AngularJS로 작성된 프론트 엔드에 대해 REST API을 제공하는 Spring Boot으로 작성된 백엔드 애플리케이션을 보유하고 있습니다. 나는 인증 프로세스에 JWT을 사용하고 있으며, 스프링 보안은 STATELESS으로 설정되어 있습니다. 그러나 SharePoint과 통신하기 위해 WebServiceTemplate도 사용하고 있습니다. SOAP API과의 통신을 담당하는 콩은 사용자 자격 증명에 따라 범위가 지정된 SESSION 범위입니다. WebServiceTemplate을 호출 할 때마다 다른 자격 증명을 사용하도록 구성하기가 매우 어려워서 작성시 구성을 결정한 다음 문제가 시작되었습니다.

답변

0

세션 범위 Bean에 일부 상태를 저장하면 애플리케이션이 상태 저장이됩니다.

  1. 스토어 그 상태 : 당신이 요청 사이에 (이 경우 SOAP 서비스 자격 증명) 상태를 공유하고 (예를 들면 때문에 앱 클러스터링) 비 저장 응용 프로그램을 갖고 싶어해야하는 경우

    , 당신은 몇 가지 옵션이 DB에 저장하고 선택적으로 서비스에 캐시합니다. (SOAP 호출이 실패하면 캐시를 무효화하고 DB에서 새 자격 증명을 읽을 수 있습니다.)

  2. Spring Session project 또는 일부 키 - 값 저장소를 사용하여 세션 상태를 저장합니다.
+0

고마워. 나는 두 번째 해결책을 가지고 갈 것이다. 이제 WebServiceMessageSender 객체를 직렬화하는 데 문제가 있습니다. 이 객체는 WebServiceTemplate에 대한 사용자 자격 증명을 저장하지만 Serializable 자체는 아닙니다. –

관련 문제