如果在 drupal 中更改了密码,则删除 uid 的所有会话 7.x
Remove all sessions for a uid if password is changed in drupal 7.x
当用户在 drupal 7 中重设密码时,是否有任何方法可以使所有其他用户会话无效?
我已经搜索过这个,到目前为止我只能找到以下资源。
https://www.drupal.org/node/2294061
任何帮助将不胜感激:)。提前致谢。
据我所知,你想要的已经在Drupal 7中实现了
我已经在全新安装的 Drupal 7 上对此进行了测试,在一个浏览器中更改密码会终止同一用户在其他浏览器中的所有会话。
你可以参考这个文件中第544到599行的相关源码:https://git.drupalcode.org/project/drupal/blob/7.x/modules/user/user.module
// If the password changed, delete all open sessions and recreate
// the current one.
if ($account->pass != $account->original->pass) {
drupal_session_destroy_uid($account->uid);
if ($account->uid == $GLOBALS['user']->uid) {
drupal_session_regenerate();
}
}
当用户在 drupal 7 中重设密码时,是否有任何方法可以使所有其他用户会话无效? 我已经搜索过这个,到目前为止我只能找到以下资源。
https://www.drupal.org/node/2294061
任何帮助将不胜感激:)。提前致谢。
据我所知,你想要的已经在Drupal 7中实现了
我已经在全新安装的 Drupal 7 上对此进行了测试,在一个浏览器中更改密码会终止同一用户在其他浏览器中的所有会话。
你可以参考这个文件中第544到599行的相关源码:https://git.drupalcode.org/project/drupal/blob/7.x/modules/user/user.module
// If the password changed, delete all open sessions and recreate // the current one. if ($account->pass != $account->original->pass) { drupal_session_destroy_uid($account->uid); if ($account->uid == $GLOBALS['user']->uid) { drupal_session_regenerate(); } }