엔터프라이즈 수준의 Java 백엔드 애플리케이션으로 작업 중이며 토큰 기반 사용자 인증을 구축해야합니다. 프런트 엔드는 PHP를 사용하고 SOAP를 통해 Java 백엔드와 통신합니다.Guava의 HashBiMap을 축출과 함께 사용할 수 있습니까?
Guava의 HashBiMap을 사용하여 문제를 해결하는 방법에 대해 생각했습니다. 내가 UUID 토큰을 키로 생성하고 사용자 객체를 정적 HashBiMap의 값으로 저장할 수 있기 때문에 유용 할 것입니다. 사용자가 처음 성공적으로 로그인하면 사용자가 HashBiMap에 추가되고 로그인 응답은 생성 된 UUID 토큰을 반환합니다. 동일한 사용자에 대한 후속 SOAP 요청은 토큰만을 사용하여 작성됩니다.
내가 직면 한 문제는 30 분 동안 사용하지 않으면 토큰을 퇴거시킬 수있는 일종의 퇴거 논리가 필요하다는 것입니다. 제 연구에서 HashBiMap은 Guava의 MapMaker처럼 퇴거를 기본적으로 지원하지 않습니다.
아무에게도 HashBiMap을 사용하고 비활성 상태에서 퇴거를 지원하는 방법에 대한 권장 사항이 있습니까? 이 방법이 이상적이지 않으면 다른 전략에 개방적입니다.
업데이트 : 내가지도에 사용자 개체를 조회하고 사용자가지도하면 계속 자신의 기존 토큰을 얻을 수 있기를 원하기 때문에 HashBiMap를 사용할 필요가 있다고 생각
. 예를 들어 사용자가 30 분 내에 브라우저를 닫고 몇 분 후에 다시 돌아와 다시 로그인하면 사용자가 이미지도에 있는지 확인하여 기존 토큰을 반환 할 수 있는지 확인해야합니다. 기술적으로 여전히 유효 함).
당신이 설명하지 않은 한 가지 이유는'UUID' 매핑에 반대'User'가 필요한 이유입니다.'User'매핑에 대한 'UUID'만으로 설명했던 것만으로도 충분할 것 같습니다. – ColinD
@ColinD 귀하의 의견을 보내 주셔서 감사합니다! 위의 내 질문에 대한 업데이트를 참조하십시오. –