2014-05-10 2 views
0

저는 GAE에서 파이썬을 사용하여 webapp를 만들고 있습니다. 그리고 오늘 저는 사용자가보고 있던 이전 페이지로 사용자를 리디렉션하는 로그 아웃 기능을 작성해야합니다.로그 아웃 할 때 이전 페이지로 사용자를 리디렉션하는 방법?

로그 아웃은 매우 쉽습니다. 쿠키를 사용하여 로그인 및 로그 아웃을 처리하므로 사용자의 로그 쿠키를 삭제하면됩니다.

실제 문제는 사용자를 이전 페이지로 리디렉션하는 것입니다. 그가 무엇을하고 있었는지 어떻게 알 수 있습니까? webapp2가이 기능을 전혀 지원합니까?

답변

2

브라우저 보통은 사용자가 방문한 페이지를 HTTP Referer (sic) header으로 보냅니다.

개인 정보 보호 문제로 인해 모든 브라우저가이를 전송하지 않거나 위조하거나 요청한 다음 페이지가 동일한 도메인에있는 경우에만 보낼 수 있습니다. 하지만 여전히 사용자를 이전 페이지로 리디렉션하는 가장 일반적인 방법입니다.

referrer = self.request.headers.get('referer') 
if referrer: 
    return self.redirect(referrer) 
return self.redirect_to('home') 

예를 :

webapp2를 들어, 같은 것을 사용할 수 있습니다 Referer 헤더를 사용하고 홈페이지와 같은 적절한 기본값으로 되돌아갑니다.