> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# AL- (AutoLogin)

> Die Tags für die Verwaltungsseite des dauerhaften Logins: gespeicherte Anmeldungen auflisten, ihre Herkunft anzeigen und sie einzeln oder alle löschen.

Bleibt ein Käufer dauerhaft angemeldet, legt der Shop dafür einen gespeicherten Login an, einen je Gerät und Browser. Die Tags mit dem Präfix `AL-` bauen die Seite, auf der der Käufer diese gespeicherten Logins einsieht und wieder löscht.

Alle Tags sind ausschließlich im AutoLogin-Verwaltungstemplate `ws_autologin_manage.htm` zulässig. Bis auf `AL-Data` und `AL-InvalidateAllLink` gehören sie außerdem in die Schleife `{@AL-Data}`, denn sie beschreiben immer einen bestimmten gespeicherten Login.

Wegweiser: Dauerhafter Login

## Die Verwaltungsseite

Das folgende Beispiel zeigt die Seite vollständig: die Liste der gespeicherten Logins mit ihren Angaben, den Löschlink je Eintrag und darunter den Link zum Löschen aller Logins.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-Data}

   <p>Anzahl der gespeicherten Anmeldungen: ~AL-Data~</p>

   {@AL-Data}

      <div>
         {AL-IsCurrent}<strong>Diese Anmeldung nutzen Sie gerade.</strong>{/AL-IsCurrent}
         {AL-IsExpired}<strong>Diese Anmeldung ist abgelaufen.</strong>{/AL-IsExpired}

         ~DC-DateTime_setunixtimestamp($AL-InitialDate$)~
         Angelegt am ~DC-DateTime_day(true)~.~DC-DateTime_month(true)~.~DC-DateTime_year(true)~
         um ~DC-DateTime_hours(true)~:~DC-DateTime_minutes(true)~ Uhr

         ~DC-DateTime_setunixtimestamp($AL-LastUsedDate$)~
         Zuletzt verwendet am ~DC-DateTime_day(true)~.~DC-DateTime_month(true)~.~DC-DateTime_year(true)~

         {AL-Country}Land: ~AL-Country~{/AL-Country}
         {AL-IPAddress}IP-Adresse: ~AL-IPAddress~{/AL-IPAddress}
         {AL-UserAgent}Browser: ~AL-UserAgent~{/AL-UserAgent}

         <a href="~AL-InvalidateLink~">Diese Anmeldung löschen</a>
      </div>

   {/@AL-Data}

   <a href="~AL-InvalidateAllLink~">Alle gespeicherten Anmeldungen löschen</a>

{/AL-Data}

{!AL-Data}
   <p>Es sind keine Anmeldungen gespeichert.</p>
{/!AL-Data}
```

Der Zweck dieser Seite ist, dass der Käufer eine Anmeldung wiedererkennt, die er nicht selbst angelegt hat. Deshalb gehören Datum, Land und Browser zusammen in einen Eintrag. Eine reine Liste mit Löschlinks hilft ihm nicht weiter, weil er nicht weiß, welchen Eintrag er treffen soll.

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `AL-Data` | ja | ja | ja | ja |
| `AL-InvalidateAllLink` | ja | – | – | – |
| `AL-InvalidateLink` | ja | – | – | – |
| `AL-InitialDate` | ja | – | – | – |
| `AL-LastUsedDate` | ja | – | – | – |
| `AL-LastAuthDate` | ja | – | – | – |
| `AL-Type` | ja | ja | ja | – |
| `AL-Country` | ja | ja | ja | – |
| `AL-IPAddress` | ja | ja | ja | – |
| `AL-UserAgent` | ja | ja | ja | – |
| `AL-IsCurrent` | – | ja | ja | – |
| `AL-IsExpired` | – | ja | ja | – |

## Die Liste

### AL-Data

Als Einzel-Tag die Anzahl der gespeicherten Logins, als Bereichs-Tag die Klammerung um die gesamte Liste, als Schleife ein Durchlauf je gespeichertem Login.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-Data}
   Anzahl der gespeicherten Anmeldungen: ~AL-Data~
   {@AL-Data}
      <!-- Angaben zum einzelnen Login -->
   {/@AL-Data}
{/AL-Data}

{!AL-Data}
   Es sind keine Anmeldungen gespeichert.
{/!AL-Data}
```

Sortiert wird nach dem Zeitpunkt der Erstellung, absteigend. Der zuletzt angelegte Login steht also oben. Das ist die richtige Reihenfolge für diese Seite, denn eine fremde Anmeldung ist in aller Regel eine neue.

## Angaben zum einzelnen Login

Diese Tags beziehen sich auf den Login des aktuellen Schleifendurchlaufs und stehen deshalb nur innerhalb von `{@AL-Data}` zur Verfügung.

### AL-InitialDate

Gibt als Unix-Timestamp aus, wann der Login angelegt wurde.

### AL-LastUsedDate

Gibt als Unix-Timestamp aus, wann der Login zuletzt verwendet wurde.

### AL-LastAuthDate

Gibt als Unix-Timestamp aus, wann zuletzt ein Passwort eingegeben wurde.

Die drei Zeitpunkte beantworten verschiedene Fragen. Das Erstellungsdatum sagt, wann das Gerät hinzukam, das Datum der letzten Verwendung, ob es noch im Gebrauch ist, und das Datum der letzten Passworteingabe, wie lange die eigentliche Anmeldung zurückliegt.

Ein Unix-Timestamp ist für den Käufer unlesbar. Rechnen Sie ihn deshalb mit den Datums-Tags in ein Datum um:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~DC-DateTime_setunixtimestamp($AL-InitialDate$)~

Angelegt am ~DC-DateTime_day(true)~.~DC-DateTime_month(true)~.~DC-DateTime_year(true)~
um ~DC-DateTime_hours(true)~:~DC-DateTime_minutes(true)~:~DC-DateTime_seconds(true)~ Uhr
```

> [!WARNING]
>
> `DC-DateTime_setunixtimestamp` setzt auf die aktuelle Zeit, wenn der übergebene Wert leer oder unbrauchbar ist. Ein Tippfehler im Tag-Namen fällt deshalb nicht als Fehler auf, sondern zeigt bei jedem Eintrag das heutige Datum.

Der Parameter `true` an den Datums-Tags sorgt für die führende Null. Ohne ihn steht dort der 1.5. statt des 01.05.

Referenz: [DC-DateTime\_setunixtimestamp](https://dokumentation.websale.de/v8s/referenz/tags/dc/datum-und-zeit.md#die-tags-im-uberblick) · [DC-DateTime\_day()](https://dokumentation.websale.de/v8s/referenz/tags/dc/datum-und-zeit.md#die-tags-im-uberblick)

### AL-Country

Gibt den Ländercode des Landes aus, in dem der Login angelegt wurde. Ermittelt wird das Land über GeoIP.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-Country}Land: ~AL-Country~{/AL-Country}
```

Ausgegeben wird der Ländercode, nicht der ausgeschriebene Name. Für eine lesbare Anzeige wandeln Sie ihn um, beispielsweise mit `DC-3ISOCodeToCountry()`.

Referenz: [DC-3ISOCodeToCountry()](https://dokumentation.websale.de/v8s/referenz/tags/dc/vergleiche.md#dc-3isocodetocountry)

### AL-IPAddress

Gibt die IP-Adresse aus, mit der der Login angelegt wurde. Das letzte Oktett wird entfernt.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-IPAddress}IP-Adresse: ~AL-IPAddress~{/AL-IPAddress}
```

Die gekürzte Adresse genügt, um ein fremdes Netz von den eigenen Geräten zu unterscheiden, und sie erlaubt keinen Rückschluss auf einen einzelnen Anschluss. Kürzen Sie sie im Template nicht weiter und ergänzen Sie sie auch nicht um eine Ortsangabe.

### AL-UserAgent

Gibt den User-Agent aus, mit dem der Login angelegt wurde.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-UserAgent}Browser: ~AL-UserAgent~{/AL-UserAgent}
```

Ein User-Agent ist eine lange technische Zeichenkette. Für die Anzeige lohnt es sich, daraus nur Browser und Betriebssystem herauszuziehen, sonst bricht die Zeile das Layout.

### AL-Type

Gibt aus, mit welcher Art von Checkbox der Login angelegt wurde.

| Wert | Verwendetes Tag im Anmeldeformular | Bedeutung |
| - | - | - |
| 1 | `WS-StayFullySignedIn_input` | Vor kritischen Aktionen ist keine erneute Passworteingabe nötig. |
| 2 | `WS-StaySignedIn_input` | Vor kritischen Aktionen ist eine erneute Passworteingabe nötig. |

> [!WARNING]
>
> Der Unterschied zwischen den beiden Arten ist für den Käufer wichtig, nicht nur technisch. Bei Typ 1 kann jeder, der Zugriff auf das Gerät hat, auch Adresse und Zahlungsdaten ändern. Weisen Sie das auf der Verwaltungsseite aus, statt nur die Zahl zu zeigen.

Referenz: [WS-StayFullySignedIn\_input](https://dokumentation.websale.de/v8s/referenz/tags/ws/kunde-anmeldung-und-konto.md#die-tags-im-uberblick) · [WS-StaySignedIn\_input](https://dokumentation.websale.de/v8s/referenz/tags/ws/kunde-anmeldung-und-konto.md#die-tags-im-uberblick)

## Zustand des Logins

### AL-IsCurrent

Der Bereich wird angezeigt, wenn dieser Login in der laufenden Sitzung verwendet wird.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-IsCurrent}
   Diese Anmeldung nutzen Sie gerade.
{/AL-IsCurrent}
```

Kennzeichnen Sie diesen Eintrag deutlich. Löscht der Käufer ihn, meldet er sich damit auf dem Gerät ab, an dem er gerade sitzt.

### AL-IsExpired

Der Bereich wird angezeigt, wenn dieser Login abgelaufen ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{AL-IsExpired}
   Diese Anmeldung ist abgelaufen.
{/AL-IsExpired}

{!AL-IsExpired}
   Diese Anmeldung ist gültig.
{/!AL-IsExpired}
```

Abgelaufene Logins stehen weiterhin in der Liste. Ohne diese Klammerung sieht der Käufer nicht, welche Einträge nicht mehr funktionieren, und wundert sich, warum er sich auf einem Gerät trotzdem neu anmelden muss.

## Logins löschen

### AL-InvalidateLink

Liefert den Link, mit dem dieser eine gespeicherte Login gelöscht wird.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@AL-Data}
   <a href="~AL-InvalidateLink~">Diese Anmeldung löschen</a>
{/@AL-Data}
```

### AL-InvalidateAllLink

Liefert den Link, mit dem alle gespeicherten Logins gelöscht werden. Dieses Tag gehört nicht in die Schleife.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<a href="~AL-InvalidateAllLink~">Alle gespeicherten Anmeldungen löschen</a>
```

> [!WARNING]
>
> Beide Links löschen sofort beim Aufruf, ohne Rückfrage. Setzen Sie die Sicherheitsabfrage deshalb selbst davor, besonders beim Löschen aller Logins. Ein versehentlicher Klick meldet den Käufer sonst auf allen seinen Geräten ab.

Der Link zum Löschen aller Logins gehört auf die Seite, auch wenn nur ein Eintrag existiert. Er ist die Reaktion auf einen Verdacht, und in dem Moment soll der Käufer nicht erst einzeln klicken müssen.

## Verwandte Themen

* Wegweiser: Dauerhafter Login
* Wegweiser: [Anmeldung und Registrierung](https://dokumentation.websale.de/v8s/kundenkonto/anmeldung-registrierung.md)
* Wegweiser: [Kundenkonto](https://dokumentation.websale.de/v8s/zahlungsarten-anlegen/kundenkonto.md)


## Related topics

- [Anmeldung und Registrierung](https://dokumentation.websale.de/v8s/kundenkonto/anmeldung-registrierung.md)
- [accounts - Benutzerkonten](https://dokumentation.websale.de/konfiguration/accounts-benutzerkonten.md)
- [Kunde, Anmeldung und Kundenkonto](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/kunde-anmeldung-und-kundenkonto.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.