Lien de déconnexion directe


14

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 redirige l'utilisateur vers une page avec un bouton de déconnexion sur lequel il faut cliquer.

Est-il possible de créer un lien qui déconnectera directement l'utilisateur actuel?

Réponses:


24

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 Loginlien vers les invités et un Logout Usernamelien direct 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 en utilisant un plugin / module qui permet d'insérer directement du code PHP (par exemple DirectPHP , Custom HTML Advanced , Sourcerer ou similaire).


1
Haha, trop évident ...? Désolé pour ça. Pour être honnête, cependant, je trouve l'extrait de code très utile et je l'utilise tout le temps sur les sites Web des clients pour avoir un petit lien de connexion non intrusif dans le pied de page. Je ne savais tout simplement pas quoi demander pour publier le code.
johanpw

+1 Extrêmement utile! Comment pouvez-vous faire une redirection vers une page spécifique après celle-ci? y en a-t-il &additional_parameterqui peuvent être utilisés pour autoriser une redirection après la déconnexion?
Gruber

Hé là merci pour ça! Pouvez-vous fournir une documentation où cela est expliqué un peu plus en détail? Je vous remercie!
Gruber


6

En guise de 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 plus besoin de plugins supplémentaires.

L'élément de menu de déconnexion permet également une redirection à la déconnexion.

De plus, si vous définissez votre élément de menu de connexion sur l'accès «Invité» et votre élément de menu de déconnexion sur l'accès «Enregistré», le menu change en fonction de votre statut.

Réponse détaillée de SE ici: changer la connexion en déconnexion


C'est probablement la meilleure approche pour les sites Web utilisant une version à jour de Joomla car elle n'utilise que les fonctionnalités de base de Joomla. Cependant, si vous avez vraiment besoin de créer par programme un lien de déconnexion, la «réponse acceptée» est une bonne solution.
feculededentier

4

Comme troisième option, il existe un composant de déconnexion rapide qui ajoute un élément de menu de déconnexion directe dans Joomla et déconnectera les utilisateurs sans confirmation.

Il offre également la possibilité de définir la redirection vers une page souhaitée après la déconnexion.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.