Je sais que je peux afficher le formulaire de connexion/déconnexion avec le lien suivant:
http://example.com/index.php?option=com_users&view=login
Mais une fois connecté, ce lien redirigera l'utilisateur vers une page avec un bouton de déconnexion sur lequel il faudra cliquer.
Est-il possible de créer un lien qui déconnectera directement l'utilisateur actuel?
Le lien suivant est pour la déconnexion directe:
http://example.com/index.php?option=com_users&task=user.logout
Mais un jeton utilisateur est requis pour éviter un message d'erreur Invalid Token
, Et un peu de magie PHP est nécessaire pour obtenir le jeton. Le code suivant affichera un Login
lien vers les invités, et un lien direct Logout Username
vers les utilisateurs connectés:
$user = JFactory::getUser();
if ($user->guest)
{
echo '<a href="index.php?option=com_users&view=login">Login</a>';
}
else
{
$userToken = JSession::getFormToken();
echo '<a href="index.php?option=com_users&task=user.logout&' . $userToken . '=1">Logout ' . $user->username . '</a>.';
}
Le code peut être inclus dans n’importe quelle extension ou à l’aide d’un plugin/module permettant d’insérer directement le code PHP) (par exemple, DirectPHP , Custom HTML Advanced =, Sourcerer ou similaire).
Il existe déjà un plugin qui fonctionne très bien pour le bouton de déconnexion.
Vous devriez vérifier cette extension bouton de déconnexion
En réponse finale, Joomla a un élément de menu "Déconnexion" intégré, ajouté au noyau, je pense, autour de 3.4 * peut-être 3.5. Alors maintenant, vous n'avez pas besoin de plugins supplémentaires.
L'élément de menu de déconnexion permet également une redirection lors de la déconnexion.
De même, si vous définissez l’élément de menu Connexion sur Accès 'Invité' et l’élément de menu Déconnexion sur Accès 'Enregistré', le menu change en fonction de votre statut.
Réponse détaillée de la SE ici: Change Login to Logout
Troisièmement, il existe un composant Déconnexion rapide qui ajoute un élément de menu de déconnexion directe dans Joomla et déconnecte les utilisateurs. sans la confirmation.
Il offre également la possibilité de définir la redirection vers la page souhaitée après la déconnexion.