Maison > développement back-end > tutoriel php > Gérer les séances multi-appareils avec la fonction de déconnexion de l'appareil de Laravel

Gérer les séances multi-appareils avec la fonction de déconnexion de l'appareil de Laravel

James Robert Taylor
Libérer: 2025-03-05 15:24:25
original
628 Les gens l'ont consulté

Managing Multi-Device Sessions with Laravel's Device Logout Feature

Laravel propose une fonction de sécurité robuste via AUTH :: LogOutotherDevices () qui permet aux utilisateurs de terminer leurs sessions sur tous les appareils sauf celui actuel. Cette capacité est particulièrement utile pour maintenir la sécurité des comptes dans les applications gantant les données sensibles.

Vous pouvez implémenter cette fonctionnalité pour des mesures de sécurité proactives, comme répondre aux activités suspectes:

<!-- Syntax highlighted by torchlight.dev -->public function secureSessions(Request $request)
{
    Auth::logoutOtherDevices($request->password);

    return back()->with('status', 'All other device sessions terminated');
}
Copier après la connexion

L'implémentation nécessite l'authentique middleware pour une bonne gestion de session:

<!-- Syntax highlighted by torchlight.dev -->Route::middleware(['auth', 'auth.session'])->group(function () {
    // Protected routes
});
Copier après la connexion

Voici une implémentation pratique pour les mises à jour de mot de passe avec déconnexion multi-appareils:

<!-- Syntax highlighted by torchlight.dev -->class SecurityController extends Controller
{
    public function updatePassword(Request $request)
    {
        $validated = $request->validate([
            'current_password' => 'required',
            'new_password' => 'required|min:8|confirmed'
        ]);
        if (!Hash::check($request->current_password, Auth::user()->password)) {
            return back()->withErrors([
                'current_password' => 'Invalid password provided'
            ]);
        }
        Auth::logoutOtherDevices($request->current_password);
        Auth::user()->update([
            'password' => Hash::make($request->new_password)
        ]);
        return redirect('/dashboard')
            ->with('status', 'Password updated and other devices logged out');
    }
}
Copier après la connexion

Cette approche offre aux utilisateurs un plus grand contrôle sur la sécurité de leur compte tout en aidant à empêcher un accès non autorisé par le biais de sessions actives oubliées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal