2011-01-02 8 views
3

를 호출? 그것은 repoze 것 같습니다. 비슷한 뭔가를 제공해야하지만, 나는 마법의 단어를 찾을 수 없습니다.Turbogears 변경 사용자는 당신이 뭔가를 수행하여 사용자 로그인 변경 될 수 있습니다, TG1에서

또는 로그인 및 암호를 묻는 일반적인 방법 이외의 방법으로 repoze.who를 사용한 다음/login_handler에 데이터를 제출하는 방법에 대한 문서가 있습니다. login_handler를 처리하는 코드는 어디에 있습니까?

감사합니다.

답변

3

식별자를 사용하여 새 사용자를 기억할 수 있습니다. 기본적으로 TurboGears2 사용자는 사용자 이름으로 식별되므로 사용자 이름을 사용하여 사용자를 전환 할 수 있습니다.

def force_user(user_name): 
    request = tg.request 
    response = tg.response 

    request.cookies.clear() 
    authentication_plugins = request.environ['repoze.who.plugins'] 
    identifier = authentication_plugins['main_identifier'] 

    try: 
     response.headers = identifier.remember(request.environ, {'repoze.who.userid':user_name}) 
    except: 
     pass