Vorbedingungen

Was die Hostanwendung einmal einrichten muss, bevor das erste Beispiel läuft. Fehlt davon etwas, erscheint meist keine Fehlermeldung.

Einmal in der Hostanwendung einzurichten. Die Komponente ruft Adressen der Anwendung auf und liest ihre Einstellungen aus der Konfiguration. Fehlen sie, gelten die Standardwerte der Einstellungsklasse, und deren Adressen gibt es in der Anwendung meist nicht.

Setzt die Grundeinrichtung aus Basis › Vorbedingungen voraus.

Für den BenutzerPraesenzPruefer

Was Wo Fehlt es
Paket FMH.Komponente.BenutzerPraesenzCheck .csproj Die Infrastruktur kommt transitiv mit
Grundeinrichtung aus Basis › Vorbedingungen Program.cs, _Layout.cshtml läuft die Prüfung nicht: Das Skript braucht jQuery und die Dialoge von Bootstrap und wird über die BodyIncludes geschrieben
builder.Services.AddBenutzerPraesenzPruefer(builder.Configuration) Program.cs ist die Section nicht gebunden: IOptions<BenutzerPraesenzPrueferSetting> liefert nur Standardwerte, und das Startprotokoll mit den gelesenen Werten entfällt
Section BenutzerPraesenzPruefer appsettings.json gelten die Standardwerte, darunter LogoutUrl = /Logout/LogOut und PruefEndpunkt = /Home/Status
@Html.Fmh(Fmh.UserPresenceCheck().Einstellungen(...)) genau einmal, üblicherweise im Layout _Layout.cshtml gibt es keine Prüfung. Zweimal auf einer Seite kollidieren die festen Ids der Dialoge
Ein Prüfendpunkt mit [Authorize], der Json liefert eigener Controller bricht die Komponente bei 404 mit «Konfiguration UserPresenseCheck prüfen.» ab. Ohne [Authorize] meldet er immer «gültig», und die Erneuerung läuft nie an
Ein Endpunkt unter LogoutUrl eigener Controller führt «Abmelden» im Dialog auf eine Seite, die es nicht gibt
using FMH.Komponente.BenutzerPraesenzCheck;

builder.Services.AddBenutzerPraesenzPruefer(builder.Configuration);
// Der Prüfendpunkt: im Authorize-Prozess, mit Json-Antwort. Der Inhalt spielt keine Rolle.
[Authorize]
[HttpGet]
public IActionResult Status()
{
    return this.Json(new { status = "ok" });
}

Die Einstellungen der Section stehen in der Anleitung von BenutzerPraesenzPruefer.

Zusätzlich bei einer neuen Domain

  • Die Domain im IDP unter CORS.Domain eintragen. Fehlt der Eintrag, zeigt sich das als JavaScript-Fehler mit responseText undefined.