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.Domaineintragen. Fehlt der Eintrag, zeigt sich das als JavaScript-Fehler mitresponseText undefined.