2016-12-25 1 views

답변

2

당신은 Session.Abandon() 또는 Clear() 현재 세션을 포기하는 데 사용할 수 있지만, 여러 사람이 같은 주소로 로그인이있는 경우,이는 해결되지 않습니다 :

간단한 검사는 않습니다.

해당 검색을 빌드해야합니다. 예를 들어 사용자를 나타내는 테이블의 플래그를 업데이트 한 다음 다른 사용자의 세션에서 다시 로그인 한 경우 정기적으로 테이블을 확인할 수 있습니다. 또는 사용자가 로그인하면 데이터베이스 테이블에 토큰을 만들고 만료일; 그 토큰을 쿠키의 사용자에게 연관 시키십시오. 로그 아웃하거나 다시 로그인하면 해당 이메일 주소와 관련된 토큰을 무효화 할 수 있으며 각 사용자는 응용 프로그램에 액세스하려고 할 때 토큰이 만료되었는지 여부를 확인하는 응용 프로그램에서 거부 될 수 있습니다.

1

Abandon 방법은 (MSDN)를 작동합니다 :

Session.Abandon(); 

당신이 세션 사용에서 특정 항목 (MSDN)를 제거하려면 다음

Session.Remove("YourItem"); 

당신이 단지를 지우려면 당신이 할 수있는 가치 :

Session["YourItem"] = null; 

만약 당신이 할 수있는 모든 키를 지우려면 다음을 입력하십시오 :

Session.Clear(); 

아무 것도 작동하지 않는다면 문제가 발생합니다. 값을 할당하는 위치를 확인하고 값을 지운 후에 다시 할당되지 않는지 확인합니다.

Session["YourKey"] = "Test"; // creates the key 
Session.Remove("YourKey"); // removes the key 
bool gone = (Session["YourKey"] == null); // tests that the remove worked 
관련 문제