В чем разница между $ user login и access?


10

Я мигрирую пользователей и наткнулся на объект $ user .

В чем разница между логином и полем доступа? Доступ обновляется с каждым запросом страницы?

Ответы:


18

Поле доступа обновляется в обработчике записи сеанса Drupal _drupal_session_write . Это означает, что он потенциально обновляется при каждом запросе страницы. Если вы посмотрите на исходный код, то увидите, что поле доступа по умолчанию обновляется только каждые 180 секунд. Этот интервал можно изменить, установив session_write_intervalпеременную Drupal.

// Likewise, do not update access time more than once per 180 seconds.
if ($user->uid && REQUEST_TIME - $user->access > variable_get('session_write_interval', 180)) {
  db_update('users')
    ->fields(array(
    'access' => REQUEST_TIME,
  ))
    ->condition('uid', $user->uid)
    ->execute();
}

7

Согласно комментариям к полям в user_schema():

access: Временная метка за предыдущий раз пользователь заходил на сайт.

login: Метка времени последнего входа пользователя.

Так accessбудет обновляться для каждой загрузки страницы, loginтолько когда пользователь фактически вошел в систему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.