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'); }
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 });
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'); } }
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!