Authentication
class Authentication extends Page
Der Authentication erweitert den Page-Presenter um eine post-Methode um die Authentifizierung durchzuführen.
Die Authentifizierung erzeugt eine neue Resource vom Typ Session, die über die Session-ID verfügbar ist. Die eigentliche Authentifizierung ist eine Core-Funktion der Anwendung.
Anmeldung
Über die folgende Route kann eine Anmeldung erfolgen.
<route id="PART-AUTHENTICATION-ACTION">
<method>POST</method>
<presenter>\Alvine\Application\Web\Presenter\Authentication</presenter>
<pattern><![CDATA[^/login$]]></pattern>
<template>/login</template>
<configuration>
<error>/login#notPermitError</error>
<valid>/account</valid>
</configuration>
</route>
Weiche für Anmeldung
In der Konfiguration der route müssen die Redirects für den Erfolgsfall und Fehlerfall definiert werden. Dazu ist in der Route die folgende Konfiguration notwendig.
<configuration>
<error>/login#notPermitError</error>
<valid>/account</valid>
</configuration>
Abmelden
Um eine Session zu löschen muss die delete-Methode aufgerufen werden. Dazu kann mit folgender Route gearbeitet werden
<route id="PART-AUTHENTICATION-DELETE">
<method>DELETE</method>
<presenter>\Alvine\Application\Web\Presenter\Authentication</presenter>
<pattern><![CDATA[^/logout$]]></pattern>
<template>/logout</template>
<configuration>
<logout>/</logout>
</configuration>
</route>
Properties
protected View | $view | from Presenter | |
protected Assembly | $assembly | from Presenter | |
protected boolean | $initApplicationView | from Presenter | |
protected Route | $route | from Presenter | |
protected PropertyText | $resourceText | from Presenter |
Methods
Diese Methode definiert welche Parameter im Presenter zur Verfügung stehen sollen.
Ressourcentexte initialisieren
Lokalisierten Text holen
Diese Methode holt einen View der mit einer Route verbunden ist.
Diese Methode führt eine Route aus und gibt den Ergebnisview zurück. Ist in der Anwendung kein View definiert Assembly::getView() liefert null, so setzt diese Methode eine View vom Typ HTTPError
Diese Methode prüft in der Konfiguration der route, ob bestimmte
Ausgabetypen erlaubt sind. Gegen diese wird das Ergebnis des Aufrufs
von getResponseMediaType()
geprüft.
Fehler-View setzen
Inhalt von einem Plugin einlesen
Inhalt von extern einlesen
Objekt einlesen und als String ausgeben
Inhalt aus dem Tag auslesen und einfügen
Inhalt aus einer Datei aus dem Dateisystem einlesen
Inhalt aus einem Verzeichnis aus dem Dateisystem einlesen
Inhalt einer Route einlesen und zurückgeben
View erstellen
Löschen einer Authorisation
Details
in Presenter at line 176
Presenter
execute(ParameterMap $parameter)
Nicht definierte Methode ausführen
Diese Methode erstellt die Antwort auf nicht definierte Methoden aufrufe und gibt einen 501 (Method Not Implemented) zurück.
in Presenter at line 119
protected Presenter
initView(View $view)
View setzen
View setzen und das View auch an die Anwendung weiterreichen. Ist self::initApplicationView gleich true so wird die Methode Assembly::initView aufgerufen und der Anwendungsview gesetzt.
in Page at line 474
ParameterMap
getExecuteParameter(Route $routeObj, ParameterMap $parameter, string $method, URI $route)
Diese Methode definiert welche Parameter im Presenter zur Verfügung stehen sollen.
in Presenter at line 84
protected DefaultPresenter
initResourceText(string $resource = null, Directory $basepath = null)
Ressourcentexte initialisieren
Die Locale wird aus der Anwendung geholt
in Presenter at line 137
string
getText(string $text, string $default = null, string $pluralKey = null)
Lokalisierten Text holen
Beispiele wenn der Schlüssel nicht gefunden wird:
// Lokalisierung mit Default-Wert
Presenter::getText('my.key::name=Hans', 'Hallo!');
-> Hallo!
// Wird kein Default übergeben wird der Schlüssel ausgegeben
Presenter::getText('my.key::name=Hans');
-> my.key::name=Hans
in Presenter at line 205
Request
getRequest()
Request
in Presenter at line 237
View
getViewFromRouteID(string $routeID, ParameterMap $parameter)
Diese Methode holt einen View der mit einer Route verbunden ist.
in Presenter at line 286
View
getViewFromRoute(string $route)
Diese Methode führt eine Route aus und gibt den Ergebnisview zurück. Ist in der Anwendung kein View definiert Assembly::getView() liefert null, so setzt diese Methode eine View vom Typ HTTPError
in Presenter at line 333
protected MIMEType
getMediaTypeOrNullForTheResponse(array $allowdMimeTypes = null)
Diese Methode prüft in der Konfiguration der route, ob bestimmte
Ausgabetypen erlaubt sind. Gegen diese wird das Ergebnis des Aufrufs
von getResponseMediaType()
geprüft.
Falls kein Parameter übergeben wird, aber eine Route hinterlegt ist, so wird aus der Konfiguration der Route foklgender Block ausgelesen
<configuration>
<!-- erlaubte Mimetypes -->
<mimetypes> <!-- Erlaubte Mimetypes: json -->
<allowed>application/xml</allowed>
</mimetypes>
</configuration>
in Presenter at line 378
MediaType
getResponseMediaType()
deprecated
deprecated
Medientyp für die Rückgabe ermitteln
Versteht der Client HTML, so wird HTML zurückgegeben, ansosten wird auf JSON oder XML geprüft. Unterstützt der Client keine Codierung wird text/html angenommen.
in Presenter at line 394
protected Presenter
initErrorView(StatusCode $statusCode, MIMEType $mimetype = null, Dataset $response = null, string $message = null)
deprecated
deprecated
Fehler-View setzen
in Page at line 130
protected string
getContentFromPlugin(Node $source, ParameterMap $parameter)
Inhalt von einem Plugin einlesen
<container placeholder="headline">
<plugin class="/namespace/class">
<!-- pluginconfig -->
</plugin>
</container>
in Page at line 149
protected string
getContentFromExtern(Node $source, ParameterMap $parameter)
Inhalt von extern einlesen
<container placeholder="headline">
<extern url="http://www.example.com/" />
</container>
in Page at line 173
protected string
getContentFromObject(Node $source, ParameterMap $parameter)
Objekt einlesen und als String ausgeben
<container placeholder="headline">
<object uuid="12435-3243-2343-12322-23232" class="\namespace\myClass" />
</container>
in Page at line 193
protected string
getContentFromContent(Node $source, ParameterMap $parameter)
Inhalt aus dem Tag auslesen und einfügen
<container placeholder="headline">
<content>Mein Inhalt für diese Seite</content>
</container>
in Page at line 214
protected string
getContentFromFile(Node $source, ParameterMap $parameter)
Inhalt aus einer Datei aus dem Dateisystem einlesen
Mit path wird das Verzeichnis und mit name die Datei definiert. Wird kein Pfad angegeben, so wird das Resourcen-Verzeichnis genommen.
<container placeholder="headline">
<file path="/to/resource" name="file.html"></file>
</container>
in Page at line 253
protected string
getContentFromDirectory(Node $source, ParameterMap $parameter)
Inhalt aus einem Verzeichnis aus dem Dateisystem einlesen
Mit path wird das Verzeichnis und mit name die Datei definiert. Wird kein Pfad angegeben, so wird das Resourcen-Verzeichnis genommen.
<container placeholder="headline">
<file path="/to/resource" filter="file.html"></file>
</container>
in Page at line 317
protected string
getContentFromRoute(Node $source, ParameterMap $parameter)
Inhalt einer Route einlesen und zurückgeben
<container placeholder="headline">
<route id="my-route">
<parameters>
<parameter type="integer" name="name">myName</parameter>
<parameter type="string" name="format">jpg</parameter>
</parameters>
</route>
</container>
at line 93
Presenter
post(ParameterMap $parameter)
Bearbeitung von POST-Anfragen zur Authentifizierung
at line 127
protected View|boolean
getRedirectView(ParameterMap $parameter, string $redirectKey)
View erstellen
at line 175
boolean
delete(ParameterMap $parameter)
Löschen einer Authorisation