2016-09-05 3 views
1

나는 signup/login 모듈에서 작업하고있는 프로젝트에서 일하고있다. webapp2 python에서 세션을 성공적으로 구현했습니다. 이제 로그인시 me remember 기능을 구현하려고합니다. 나는 나를 도울 수있는 것을 찾을 수 없다. 나는 나이를 정해야한다는 것을 알고 있습니다. 하지만 어떻게해야할지 모르겠다. 여기에 제 세션 코드가 있습니다.GAE python에서 나를 기억 옵션

def dispatch(self): 

    # Get a session store for this request. 
    self.session_store = sessions.get_store(request=self.request) 

    try: 
     # Dispatch the request. 
     webapp2.RequestHandler.dispatch(self) 
    finally: 
     # Save all sessions. 
     self.session_store.save_sessions(self.response) 

@webapp2.cached_property 
def session(self): 
    # Returns a session using the default cookie key. 
    return self.session_store.get_session() 

구성은 :

config = {} 
config['webapp2_extras.sessions'] = { 
    'secret_key': 'my-super-secret-key', 
} 

친절하게 도와주세요. 경우에 우선

답변

1

당신은

쿠키 무엇 세션과 쿠키의 차이를 몰라? 쿠키는 브라우저에 의해 사용자 컴퓨터에 저장된 텍스트의 작은 부분입니다. 쿠키의 일반적인 용도는 인증, 사이트 환경 설정 저장, 장바구니 품목 저장 및 서버 세션 식별입니다.

사용자의 웹 브라우저가 웹 서버와 상호 작용할 때마다 은 웹 서버에 쿠키 정보를 전달합니다. 요청한 URL의 도메인과 관련된 브라우저에 의해 에 저장된 쿠키 만 서버에 전송 된 이됩니다. 즉 www.example.com과 관련된 쿠키는 www.exampledomain.com으로 전송되지 않습니다.

본질적으로 쿠키는 웹 사이트 또는 웹 응용 프로그램과의 사용자 상호 작용을 위해 한 페이지를 다음 페이지로 연결하는 좋은 방법입니다.

.

란 무엇입니까? 세션은 사용자의 웹 사이트 또는 웹 응용 프로그램과 상호 작용할 때까지 유지되기를 원하는 정보의 서버 측 저장소로 정의 할 수 있습니다.

쿠키가 사용자의 브라우저에 쿠키를 통해 대용량으로 지속적으로 저장되는 대신 고유 한 식별자 만 클라이언트 측 ("세션 ID"라고 함) 에 저장됩니다. 이 세션 ID는 브라우저가 HTTP 요청 (예 : 링크 또는 AJAX 요청)을 할 때마다 웹 서버 에게 전달됩니다. 웹 응용 프로그램은이 세션 ID와 내부 데이터베이스 인 을 쌍으로 만들고 요청 된 페이지 이 사용할 저장된 변수를 검색합니다.

"나를 기억해"와 같은 것을 구현하려면 세션에 저장된 데이터가 영구하지 않기 때문에 쿠키를 사용해야합니다. webapp2에서 쿠키를 설정하고 가져 오기위한

:

response.headers.add_header('Set-Cookie', 'remember_me=%s' % some_hash) 

request.cookies.get('remember_me', '') 

난 강력하게 철저하게이 물건을 설명했다이 article을 읽을 것을 권장합니다.

+0

어떻게 만료 기간을 설정할 수 있습니까? –

+0

답변에 언급 된 기사에 따르면 :'Set-Cookie : user = 123; Expires = Tue, 2005 년 1 월 1 일 00:00:00 GMT' – Tempux

+0

코드를 공유 할 수 있다면 도움이 될 것입니다. 코드를 찾을 수 없기 때문에. –