2014-09-25 5 views
1

세션 시간 초과시 설정 및 리디렉션 방법에 대한 많은 예제가 있습니다. 그러나이 상황에서 내가 찾을 수있는 것은 아무것도 없다.세션 시간 초과시 사용자에게 현재 페이지 가져 오기

시간 초과 컨트롤이 세션 시간 초과를 모니터링하고 1 분이 남았을 때 사용자에게 경고하는 일반적인 상황. 세션이 시간 초과되면 사용자는 세션을 지우는 페이지 (sessionexpired.aspx)로 리디렉션되고 사용자에게 다시 로그인해야한다는 정보를 표시합니다.

세션이 실제로 시간 초과되었을 때 사용자가 있던 페이지를 기록하고 싶습니다. sessionexpired.aspx 페이지의 코드 뒤에 있습니다.

도움이 될 것입니다.

+0

쿠키를 사용할 수 없습니까? – MethodMan

+0

세션 만료 페이지로 리디렉션하기 전에 returnUrl 매개 변수를 쿼리 문자열에 현재 페이지의 URL (document.URL을 통해)을 추가하십시오. urlencode해야하지만 Reqeust.QueryString [ "ReturnURL"]에 대한 테스트 만 있으면됩니다. 리디렉션에서 로그인으로 돌아가는 것처럼 작동해야합니다. –

답변

1

현재 요청 개체에서 Referer을 찾으십시오. 이것은 보통이를 사용 찾았다 :

Request.UrlReferrer

도움이 되었기를 바랍니다.

1

당신은 사용자가에 현재 페이지를 얻기 위해이 코드 예제 중 하나를 사용할 수 있습니다

// Returns something like "http://www.example.com/myUrl/MyPage.aspx" 
string page = HttpContext.Current.Request.Url.AbsoluteUri; 

// Returns something like "/myUrl/MyPage.aspx" 
string page = HttpContext.Current.Request.Url.AbsolutePath; 

// Returns something like "MyPage.aspx" 
string page = HttpContext.Current.Request.Url.AbsolutePath.Substring(url.LastIndexOf('/') + 1); 

그래서 코드가 세션이 만료 될 때 (아마도 마스터 페이지에서) 당신을 로그 아웃하는 곳, 이 라인들 중 하나를 추가하기 만하면됩니다.

일단 로그인하면 로그인 페이지에 검색어 문자열 매개 변수로 추가하거나 데이터베이스에 저장할 수 있습니다.

+0

Querystring 매개 변수가 내 표를 얻습니다. 청소부가 DB로 전송 한 것 같습니다. – Jagd

+0

@Jagd - 동의합니다. 나는 그가 이것을 알 필요가 있는지 알지 못 했으므로 사용자를 그들이 있던 페이지로 돌려 보낼 수 있거나 어떤 종류의 통계적 마케팅 일을 위해 필요한 경우 사용자를 돌려 줄 수있었습니다. 예를 들어 "연구 결과에 따르면 사용자의 70 %는 자동으로 로그 오프되었을 때 XYZ 페이지에있었습니다." 무슨 뜻인지 알 겠어? – Icemanind

+0

위대한 답변 icemanind,하지만 이전 답변은 내가 어디서 왔는지 상관없이 SessionExpired 페이지에서 URL을 얻을 수 있습니다. 응답 해 주셔서 감사 드리며 앞으로의 필요를 염두에 두겠습니다. – user1266896