it-swarm.com.de

Was ist der Unterschied zwischen $ user login und access?

Ich migriere Benutzer und bin auf das $ user object gestoßen.

Was ist der Unterschied zwischen dem Anmelde- und dem Zugriffsfeld? Wird der Zugriff bei jeder Seitenanforderung aktualisiert?

10
uwe

Das Feld access wird in Drupals Sitzungsschreibhandler _ drupal_session_write aktualisiert. Dies bedeutet, dass es möglicherweise bei jeder Seitenanforderung aktualisiert wird. Wenn Sie sich den Quellcode ansehen, werden Sie feststellen, dass das Feld access standardmäßig nur alle 180 Sekunden aktualisiert wird. Dieses Intervall kann durch Setzen der Variablen session_write_interval Drupal) geändert werden.

// 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();
}
18
Oswald

Gemäß den Kommentaren für die Felder in user_schema() :

access: Zeitstempel für den vorherigen Benutzer, der auf die Site zugegriffen hat.

login: Zeitstempel für die letzte Anmeldung des Benutzers.

access wird also für jedes Laden der Seite aktualisiert, login nur, wenn sich der Benutzer tatsächlich angemeldet hat.

7
Clive