Comment limiter WordPress à une seule connexion par compte ?
Hey ! Aujourd’hui on va voir comment empêcher les connexions multiples sur un même compte WordPress. En gros, si quelqu’un est déjà connecté avec un compte et qu’une autre personne essaie de se connecter avec le même compte, la première personne sera déconnectée. Simple et efficace ! 🎯
La solution en 2 minutes
function prevent_multiple_logins($user_login) { // wp_destroy_all_sessions() va automatiquement cibler // l'utilisateur qui vient de se connecter wp_destroy_all_sessions(); } add_action('wp_login', 'prevent_multiple_logins', 10, 1);
Oui, c’est vraiment tout ! WordPress nous fournit une fonction magique wp_destroy_all_sessions() qui fait exactement ce qu’on veut.
Comment ça marche ?
- On se branche sur le wp_login, on kill toutes les sessions et on laisse WordPress faire
- Notre fonction utilise wp_destroy_all_sessions()
- Si un utilisateur se connecte avec une session déjà en cours ailleurs -> pouf il sera connecté mais déconnectera l’autre.
- Seule la nouvelle session reste active
Les cas d’utilisation
Cette fonctionnalité est super utile pour :
- Renforcer la sécurité de votre site
- Gérer les licences utilisateur (une licence = une connexion)
- Éviter le partage de comptes
- Tracker précisément qui est connecté
Points à noter
- La déconnexion est immédiate pour les autres sessions
- L’utilisateur déconnecté devra se reconnecter
- Ça fonctionne sur tous les types de comptes (admin, éditeur, etc.)
- Pas besoin de configuration supplémentaire
En résumé
WordPress nous simplifie vraiment la vie avec wp_destroy_all_sessions(). Pas besoin de réinventer la roue ou de créer des systèmes complexes. Une ligne de code, et le tour est joué ! 🚀
Des questions ? Des retours d’expérience ? N’hésitez pas à les partager en commentaires ! 💬