Вопрос

В TG1 вы можете изменить зарегистрированный пользователя, делая что -то вроде:

identity.set_current_identity(identity)

Можно ли сделать что -то подобное в TG2? Это похоже на воспоминание. Кто должен предоставить что -то подобное, но я не могу найти волшебные слова.

В качестве альтернативы, их любая документация о том, как использовать repoze.who, что, кроме обычного подхода к просьбе входа и пароля, а затем отправить эти данные в /login_handler. Где код, который обрабатывает login_handler?

Спасибо!

Это было полезно?

Решение

Вы можете использовать идентификатор, чтобы запомнить нового пользователя. По умолчанию в 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top