Gestion de la maintenance
Etat de l'application durant une maintenance
Accès à l'application
Dans la configuration d'environnement la ligne ->setConfig(name: MaintenanceConfig::SECRET_LINK->value,value: "/maintenance/dev/access/")
permet de définir un lien secret d'accès pouvant être changé.
Ce lien donne mène à l'appel d'un controller permettant la gestion de l'accès à la maintenance
Définition d'un controller de gestion de maintenance
Créer une class
Extends la class
EagleCore\Controller\MaintenanceController
Implémenter les méthodes requises :
showMaintenancePage
affiche la page de saisie des identifiants -verifyLogin
vérifie si l'accès est autorisé (notamment par le traitement du formulaire reçu)Enregistrer le gestionnaire dans l'environnement via la ligne
->setConfig(name: MaintenanceConfig::ACCESS_MANAGER->value,value: MyCustomManager::class)
Le framework arrive avec un processus d'accès par défaut pré-défini via les éléments suivant :
Src/controllers/DefaultMaintenanceController
ce controller par défaut implémente l'affichage d'une page et la vérification via code secret d'accèsSrc/views/maintenance/authentication.blade.php
vue de saisie de code d'accèsstorage/maintenance/maintenance.secret
fichier contenant un mot de passe haché. Par défautmotdepasse
echo password_hash(password: "votre_mot_de_passe",algo: PASSWORD_BCRYPT);
Processus d'accès
Se rendre sur le lien secret
Le controller par défaut affiche la vue d'authentification
À la validation du formulaire la vérification via
verifyLogin
va comparer le mot de passe fourni à celui contenu dans le fichiermaintenance.secret
Si conforme return true, et débloque l'accès via session sinon false