Was ist der Unterschied zwischen $ user login und access?

10

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

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

uwe
quelle

Antworten:

18

Das Zugriffsfeld 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 Zugriffsfeld standardmäßig nur alle 180 Sekunden aktualisiert wird. Dieses Intervall kann durch Einstellen der session_write_intervalDrupal-Variablen 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();
}
Oswald
quelle
7

Nach 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.

So accesserhalten würde für jede Seite zu laden aktualisiert, loginnur wenn der Benutzer in tatsächlich angemeldet.

Clive
quelle