오케이. 내가하고 싶은 일은 사용자를 업데이트 할 때 현재 자격 증명을 새로 고치려면 현재 가지고있는 세션을 무효화 할 수 있습니다. 세션 관련 사용자 데이터에 직접 액세스 할 수 있는지 신경 쓰지 않습니다. 이상적으로, 나는 또한 비슷한 방식으로 한 세션으로 사용자를 제한 할 수있을 것이다.다른 사용자의 Java HttpSession을 저장하고 무효화하십시오.
내가 시도한 것은 사용자 이름을 키로 사용하고 HttpSession을 값으로 사용하여 HashMap을 만드는 것입니다. (실제 설정은 좀 더 복잡하지만 반복적으로 설명 할 수없는 오류가 반복 된 후에이 간단한 테스트로 끝내 었습니다). 그러나 검색된 HttpSession에 무효화를 시도 할 때마다 현재 [admin] 세션이 무효화 된 것처럼 보입니다. HttpSession은 현재 요청에 밀접하게 연결되어 있습니까?
아니면이 문제를 해결할 완전히 다른 방법이 있습니까?
문제가 발생하면 제티 6.1.26을 사용하고 있습니다.
거의 정확히 (세션 리스너) 설정입니다. 문제는 session.invalidate()를 호출 할 때 대상 세션이 아니라 무효화 된 세션을 무효화하는 것이 었습니다. 내 생각은 세션 범위 bean에 잘못된 플래그를 설정하고 aspect를 사용하여 거기에서 확인하고 무효화하는 것이다. 또는 요청 범위의 빈에서 검증을 수행 할 수 있다고 생각합니다. 어쨌든, 그것은 같은 장소에 도착하게됩니다 (aspect 또는 인스턴스화가 먼저 발생하는지에 따라). – Apropos
그지도에서 다른 사용자의 세션에 대해 무효화를 호출했을 때 당신은 무효화 된 유일한 사람 이었습니까? 어쩌면 세션이 맵에 있었고 무효화되었습니다. – Thihara
예. 대상 세션은 영향을받지 않았습니다. – Apropos