Projet

Général

Profil

Anomalie #28129

Mis à jour par Cyril VAZQUEZ il y a 2 mois

Si le mot de passe a expiré, l'application propose de le changer.

Lorsqu'on remplit le formulaire, on a une erreur 404 du serveur car l'utilisateur n'est n'ets pas trouvé (car non connecté ?)

De plus :
* le calcul de délai utilise la date de dernière connexion alors qu'il devrait utiliser la date du jour
* la calcul utilise la date de denrier changement de mot de passe, qui peut ne pas être évaluée (cas des injections d'utilisateurs en SQL ou anciennes données)

~~~php
private function verifyValidity($userAccount, $userLogin)
{
if ($this->securityPolicy['passwordValidity'] && $this->securityPolicy["passwordValidity"] != 0) {
$diff = ($userLogin->lastLogin->getTimestamp() - $userAccount->passwordLastChange->getTimestamp());
// (timestamp de dernier login - timestamp de dernier chgt mdp) / durée de la session
if ($diff > $this->securityPolicy['passwordValidity']) {
throw \laabs::newException('auth/userPasswordValidityExpiredRequestException');
}
}
}

~~~

Retour