J'ai ajouté un check-in LoginController
pour limiter le nombre maximum d'appareils connectés pour un utilisateur.
J'ai ajouté ce qui suit dans la méthode LoginController
的 login()
login() de
public function login(Request $request) { // ... some code ... if ($this->attemptLogin($request)) { $user = Auth::user(); if ($user->max_devices >= 5) { // if I dd() instead of returning this, it gets here return $this->sendMaxConnectedDevicesResponse($request); } } // ... some code ... } protected function sendMaxConnectedDevicesResponse(Request $request) { throw ValidationException::withMessage([$this->username() => ['Device limit reached'])->status(403); }
sendMaxConnectedDevicesResponse
是带有我的自定义消息的 sendLockoutResponse
mais je reçois un avertissement indiquant que j'ai une exception non gérée (< /代码>Unhandled IlluminateValidationValidationException).
sendLockoutResponse
Alors, comment puis-je le gérer comme
sendLockoutResponse
le gère pour qu'il apparaisse comme une erreur sur le frontend au lieu de simplement l'ignorer ? Maintenant, ce qui se passe, c'est que même s'il renvoie l'erreur, il ne l'affiche pas sur le frontend et continue de se connecter comme d'habitude Je n'ai tout simplement pas trouvé de moyen de lancer et de détecter correctement les erreurs personnalisées🎜
Dans un de mes projets, j'ai utilisé ceci
Dans votre, vous pouvez utiliser
Donc, sur le frontend, vous pouvez utiliser
device_limit 键获取错误。
Dans votre contrôleur de connexion