Benutzer prüfen¶
Der Benutzer wird in der Alvine\Application\Web
klasse mit der Methode createAuthenticationUser
erstellt.
Diese wird von Alvine\Application\Platform\Web
abgeleitet und erstellt hier ein Alvine\Application\Platform\Security\Authentication\User
Objekt.
Der Benutzer wird im Standart über Alvine\Application\Platform\Security\Authentication\Authority\Database\Authority
geprüft.
In der Methode authenticate
wird der hash
also die ID des Objektes gesetzt mit der UID als INT gesetzt.
// Hash setzen
$refObject=new \ReflectionObject($identity);
$refProperty=$refObject->getProperty('hash');
$refProperty->setAccessible(true);
$refProperty->setValue($identity, \Alvine\Types\Type::validateInteger($uid));
Mit dem \Alvine\Application\Platform\Security\Authentication\User\Constraint\IsVerified
Constraint kann die Identity
sicher geprüft werden.
Es wird geprüft ob der Benutzer verifiziert ist und ob es sich um eine Instance von \Alvine\Application\Platform\Security\Authentication\User
handelt.
Die UID kann dann sicher über $identity->getUserUID()
bezogen werden
$identity = \Alvine\Application\Assembly::getInstance()->getIdentity();
$constraint = new \Alvine\Application\Platform\Security\Authentication\User\Constraint\IsVerified();
if($constraint->isValid($identity)===true){
$uid = $identity->getUserUID();
}
Token¶
Ein Benutzer der über die Passwort vergessen Funktion kommt , ist eine Identity von Alvine\Application\Platform\Security\Authentication\TemporaryIdentity
. Diese ist auch von Alvine\Application\Platform\Security\Authentication\User
abgeleitet und kann identisch geprüft werden.