2017-05-31 1 views
0

je modifie la fonction de connexion dans le contrôleur de connexion en utilisant les informations d'identification fonctionnentLaravel 5.4 Afficher un message d'erreur personnalisé dans la page de connexion

protected function credentials(\Illuminate\Http\Request $request) 
    { 
     return ['email' => $request->email, 'password' => $request->password, 'status' => 1]; 
    } 

bien que la fonction est un travail, mais je dois retourner un message d'erreur pour montrer que « Le compte est suspendu "dans la page de connexion si le statut de l'utilisateur n'est pas égal à 1.

Comment puis-je modifier le message d'erreur?

Répondre

0

Vous devriez créer un middleware pour que vous puissiez l'utiliser. non seulement dans votre fonction de connexion.

<?php 

namespace App\Http\Middleware; 

use Closure; 

use Auth; 

class CheckStatus 
{ 
/** 
* Handle an incoming request. 
* 
* @param \Illuminate\Http\Request $request 
* @param \Closure $next 
* @return mixed 
*/ 
public function handle($request, Closure $next) 
{ 
    if (Auth::user()->status != 1) { 
     return redirect('yourloginpageroute')->withInfo("Account is suspended"); 
    } 

    return $next($request); 
} 

} 

En supposant que vous avez une ligne d'état dans votre auth.

+0

mais la session de connexion d'utilisateur commence déjà, comment puis-je l'empêcher? si le statut n'est pas actif – chengwei