Удалить все куки / сеансы пользователя при сбросе пароля
Я заинтересован в повышении безопасности моего приложения TurboGears 2.2, чтобы при изменении пользователем пароля он выходил из всех сеансов и снова входил в систему. Цель состоит в том, чтобы, когда пользователь изменяет пароль в браузере 1, он должен также повторно войти в браузер 2. Эксперименты показывают, что это не так, особенно если в браузере 2 включена функция "запомнить меня".
Это стандартное приложение с быстрым стартом, использующее repoze.who. Кажется, может быть, мне нужно изменить AuthTktCookiePlugin, но я не вижу способа сделать это без особых изменений.
1 ответ
Хранение метки времени последнего изменения пароля внутри request.identity['userdata']
должен позволять проверять его каждый раз, когда пользователь возвращается, и выходить из него, если он отличается от последнего раза, когда пароль был изменен по-настоящему.