2011-08-31 4 views
0

아마 내 질문에 어리 석었지만 미친 짓을하고있다. Session.Abandon(), Session.Clear() 및 Session.Removeall()을 사용했지만 로그 아웃 한 후에도이 응용 프로그램의 세션이 만료되지 않는다는 것을 알 수있다.). 나는 인터넷에서 모든 것을 조사해 왔지만 지금까지는 행운이 없다. 나는 정말로 도움이되기를 바란다. X 계정으로 로그인 할 수있는 사용자가 다음과 같은 경우 사용자 X가 있다고 가정하십시오.세션이 만료되지 않습니까?

1 - X 사용자 이름과 암호로 로그인하십시오. 2 세션 ".ASPXFORMSAUTH"정보 가져 오기. 3- X의 계정에서 로그 아웃 4 "여는 쿠키 기능"과 같은 fire fox를 사용하여 ".ASPXFORMSAUTH"세션에 해당 값을 추가하십시오. 5 - URL을 입력하고 Enter 키를 누르십시오. 페이지가 열리면 실제로 나를 괴롭 히고 있습니다 !! 이 경우 사전

+0

당신이 사용하는 세션의 어떤 종류의? InProc? SqlServer? 다른 것? – FishBasketGordo

+0

SESSIONID는 '로그 아웃'전과 후에 동일하게 유지됩니까? – everton

+1

페이지가 _same_ SessionId로 표시됩니까? 나는 새로운 세션이 조용히 시작될 것으로 기대한다. –

답변

-1

에서

감사합니다, 당신은 세션에 추가 플래그가 로그 아웃시 false로 설정 될 수있다 ("활성"같은). 이를 바탕으로 사용자는 로그인하거나 원하는 일반 페이지로 돌아갈 수 있습니다 ..

처리 할 정의 된 방법이 있는지 확실하지 않지만 말했던 것처럼 처리 할 것입니다.

사용자가 FormsAuthentication.Signout()을 사용하여 이미 로그 아웃 한 상태이며 웹 사이트의 인증 된 부분에 액세스하기 위해 동일한 쿠키 (사용자가 액세스 권한이 있음)를 사용하여 시스템을 해킹하려고하는 시나리오입니다. 이러한 시나리오에서 Microsoft의 권장 사항은 지속성 메커니즘을 사용하여 사용자 로그 아웃을 기록/추적하고 그 정보를 사용하여 후속 가짜 요청에서 사용자를 로그인 페이지로 리디렉션하고 다시 쿠키를 지우도록 제안합니다.

Reference: 읽기 설명 부분에 점 3을 글 머리 기호

+0

감사 \t \t이었다>/이런 생각을하고 있지만 ASP.net 멤버쉽 공급자를 사용하고 있기 때문에 더 쉬운 방법이 있다고 생각했습니다. – Feras

+0

-1 그 것이 좋습니다. FormsAuthentication 메서드를 대신 사용하십시오. –

+0

나는 FormsAuthentication.Signout()을 사용했지만 쿠키를 다시 추가 할 때 다시 인증 할 수 있습니다 ... – Feras

0
또한 FormsAuthentication.SignOut를 호출 할 필요가

()

+0

나는 Session.RemoveAll(), Session.Abandon() 및 FormsAuthentication.Signout()을 하루 종일 호출했지만 문제는 여전히 존재합니다. ... ( – Feras

관련 문제