2016-09-04 6 views
1

비어와 함께 피라미드 프레임 워크를 세션 관리를위한 백엔드로 사용하고 있으며 서명 된 쿠키 내에 session_id를 저장하려고합니다. session-id는 실제 user_id와 연결되며 연관 매핑은 redis와 같은 형식으로 저장됩니다. 이 작업을 수행하기 위해 아래의 구성을 간단하게 사용할 수 있습니까? 이 문서는 완전한 구현을 제공하지 않으며 비보안 세션 팩토리를 사용한 예제 만 보여줍니다. 여기 피라미드 및 비커와 함께 쿠키 세션을 사용하여 session_id를 올바르게 저장하려면 어떻게해야합니까?

내 구성 파일, 세션 세부 사항을 편집 됨된다

여기
session.type = cookie 
session.data_dir = %(here)s/data/sessions/data 
session.lock_dir = %(here)s/data/sessions/lock 
session.key = session_key 
session.secret = as98&$Hh94 
session.cookie_on_exception = true 

은 내 __init__.py :

config = Configurator(settings=settings) 
config.include('pyramid_jinja2') 
config.include('pyramid_beaker') 
config.include('.models') 
config.include('.routes') 
config.include('polatick.models') 
config.scan() 
return config.make_wsgi_app() 

나는 단순히 잊지 제대로 이렇게 피라미드에 기능을 기억 사용하십니까?

나는이 같은 단순한 뭔가의 라인을 따라 뭔가를가는 과정의 생각 :이 문서를 다음 봤는데

if user_authenticates(): 
    session_id = create_session_id() 
    redis.put_entry(session_id, user_id) 
    request.session['session_id'] = session_id 
    headers = remember(request, login) 
    return HTTPFound('/', headers=headers) 

:
http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/pylons/sessions.html

답변

1

피라미드 커뮤니티 요리 책 것은 공식되지 않습니다 선적 서류 비치. 그것은 사용자가 제공 한 레시피 모음입니다. 특히 Pyramid 솔루션을 마이그레이션하는 웹 프레임 워크 Pylons 사용자를 대상으로합니다.

대신 Sessions의 공식 설명서를 확인하십시오. 이는 세션 즉시 구현을 제공하며 사용자가 자신의 세션 팩토리를 구현할 수 있도록합니다.

다음은 wiki tutorial에 인증 (및 나중에 권한 부여) 세션을 구현 한 것입니다.

는 PyNaCl을 사용하여 쿠키 상태에 대해 대칭 암호화를 생성하는 암호화 된 피클 기반 쿠키 직렬기를 정의합니다.

피라미드 애드온 인 pyramid_redis_sessions도 Pyramid의 ISession 인터페이스를 구현하며 Redis를 백엔드로 사용합니다.

마지막으로 세션, 인증 또는 인증을 제공하는 패키지 목록은 Try Pyramid - Extending Pyramid을 참조하십시오.