2012-03-14 5 views
0

링크가있는 이메일을 사용자에게 보내는 MVC3 응용 프로그램이 있습니다. 전자 메일의 링크를 클릭하면 로그인 페이지로 이동 한 다음 로그인 한 후 , 페이지 2 (두 번째 페이지). 이제 사용자는 두 번째 페이지에 오는 후 다시 로그인 페이지로 갈 수 있으며,이 두 번째 페이지의 컨트롤러에서브라우저 뒤로 버튼 닫기 문제

(세션을 사용하여) 나는 그것을 위해 작성한 코드 :

Session.Add("Login",true); 
로그인 페이지의 컨트롤러에서

: 이제, 사용자가 두 번째 페이지에 오는 창을 닫을 때마다 문제가있다, 다시 (이메일로) 링크를 클릭

if(Session["Login"]==true) 
    { 
    //redirect back to Second page 
    } 
    else{ 
    //continue 
    } 

, 그는 촬영 위의 코드로 인해 로그인 대신 두 번째 페이지로 이동하십시오. 이것은 일어나서는 안됩니다. 이것을 피하거나 다시 버튼 사용을 막는 더 좋은 방법을 찾을 수있는 방법은 무엇입니까 ?? 브라우저의 닫기 이벤트를 감지하여 내 세션을 정리할 수 있다고 생각했지만 가능하지 않은 것 같습니다. 도움주세요! 당신이 체계적으로 로그온 페이지로 사용자를 보낼 이메일에있는 링크를 원하는 경우

답변

2

당신과 같이 수정할 수 :

http://domain.com/account/logon?returnurl=/somecontroller/someaction 

이 방법은 매번 사용자가 클릭을 이메일 상관없이 경우에 링크 그는 이미 귀하의 사이트에서 인증을 받았으며 LogOn 페이지로 이동합니다.

+0

예, 가능하지만 두 페이지 (로그인 및 초) 만 관련된 다른 방법이 있습니까? –

+0

포인트가 링크의 URL을 변경하면 모듈의 일부가 아닌 다른 사람의 코드가 변경되어야합니다. 다른 사람에게 그렇게하도록 요청할 수는 없습니다. :-( –

+0

@ karank, 링크를 수정하지 않으면 두 번째 페이지가 인증을 요구하고 사용자가 전자 메일의 링크를 클릭 할 때 이미 인증 된 경우 직접 도착할 것이므로 링크를 수정하지 않으면 두려워합니다. 두 번째 페이지에서. –