Удалить все куки / сеансы пользователя при сбросе пароля

Я заинтересован в повышении безопасности моего приложения TurboGears 2.2, чтобы при изменении пользователем пароля он выходил из всех сеансов и снова входил в систему. Цель состоит в том, чтобы, когда пользователь изменяет пароль в браузере 1, он должен также повторно войти в браузер 2. Эксперименты показывают, что это не так, особенно если в браузере 2 включена функция "запомнить меня".

Это стандартное приложение с быстрым стартом, использующее repoze.who. Кажется, может быть, мне нужно изменить AuthTktCookiePlugin, но я не вижу способа сделать это без особых изменений.

1 ответ

Решение

Хранение метки времени последнего изменения пароля внутри request.identity['userdata'] должен позволять проверять его каждый раз, когда пользователь возвращается, и выходить из него, если он отличается от последнего раза, когда пароль был изменен по-настоящему.

Другие вопросы по тегам