ASP.Net MVC3 사이트에서 쿠키없는 인증 및 세션을 사용하도록 설정했습니다. 우리가 마주 치게 된 문제는 사용자를 로그 아웃하면 쿠키가없는 문자열에 저장된 이미 생성 된 쿠키/세션을 무효화하지 않는다는 것입니다. 시나리오는 다음과 같습니다 :ASP.Net 쿠키가없는 경우 : 인증 쿠키를 삭제하는 방법
사용자가 쿠키없는 인증을 사용하여 사이트에 로그인하고 등록하고 로그인합니다. 사용자는 이제 자신의 URL에 쿠키없는 티켓을 가지고 있습니다. 사용자가 바탕 화면 바로 가기를 만들거나 복사하여 붙여 넣으면 URL이 복사됩니다.
사용자가 사이트에서 로그 아웃하고 FormAuthentication.SignOut()이 호출되어 티켓이 무효화되고 로그온 페이지로 리디렉션됩니다.
사용자는 이제 해당 URL을 복사하여 다른 브라우저로 붙여 넣거나 다른 컴퓨터로 이동할 수 있으며 사이트는 이미 로그 아웃 했어도 해당 인증 티켓을 수락 할 수 있습니다. 심각한 보안 위험을 초래합니다.
쿠키가 없는지 여부에 관계없이 이전 쿠키를 모두 비활성화 할 수 있습니까? 현재 우리의 프로세스는 쿠키 기반 세션/로그인을 위해 작동합니다. 쿠키가 필요없는 솔루션 만 있으면됩니다.
우리가 지금까지 발견 한 유일한 해결책은 db의 모든 쿠키를 추적하고 데이터베이스의 쿠키를 무효화하고 db를 검사하여 현재 쿠키가 여전히 유효한지 확인하는 것입니다. 이는 성능에 큰 영향을 미칠 수 있으므로 앞으로 나아갈 때까지 이것이 유일한/최선의 해결책인지 확인하고자합니다. SignOut 후
감사
대단히 감사합니다. 답장이 늦어서 미안해. 그것은 조금 바빴다. 나는 HttpCache를위한 당신의 솔루션을 좋아한다. 현재 버전에서 사용합니다. 앞으로 웹 팜으로 이동하게 될 것이므로 DB로 이동하거나 팜에 분산 된 캐시를 사용해야합니다. – Gustyn