Je voudrais savoir quel est le lieu correct, recommandé ou le plus souvent utilisé pour vérifier la session expirée, l'autorisation, les droits ACL?
En bref: est-ce que je vérifie
!$session->isActive()
Dans la méthode d'affichage du contrôleur ou dans l'affichage de vue ou dois-je enregistrer les deux?
que dire de la
$user->authorise('example.canDo','com_example')
EDIT: Exemple supplémentaire
I my view.html J'inclus des chèques comme celui-ci. (Pourquoi? Parce que certains exemples en avaient) et je commence à en avoir marre de faire cela tout le temps.
if (!$user->authorise('myCom.myAdmin', 'com_myCom') || !$session->isActive()) {
$app->redirect('/index.php?option=com_users&view=login&return=' .
urlencode(base64_encode($this->currPageUrl)));
}
Session et ACL sont deux concepts distincts, même s’ils sont couplés. Il est donc utile de comprendre la distinction qui existe entre eux. J'assimile aussi le terme permissions
avec ACL.
Puisque vous utilisez Joomla comme colonne vertébrale, la plate-forme fait le gros du travail en matière de gestion et d’authentification de session. Les chances que vous ayez besoin d'interagir avec la session sont plutôt minces (il y a des cas d'utilisation, mais pas de session expirée). Donc, une réponse simple est: Joomla gère la session pour vous. Vous n'avez rien à faire.
Qu'est-ce qui se passe, c'est que si vous avez besoin (via ACL) d'un utilisateur enregistré pour exécuter une action et que la session a expiré, vous n'avez pas besoin d'effectuer de vérifications supplémentaires.
ACL peut être utilisé de différentes manières, il n’existe donc pas de réponse simple. Voici quelques idées de base cependant.