recherche

Maison  >  Questions et réponses  >  le corps du texte

php - laravel5.4 imprime Auth::check(); dans le constructeur de la classe et renvoie false, et l'imprime dans la méthode de la classe et renvoie true

Au secours, au secours ! laravel5.4 imprime Auth::check(); dans le constructeur de la classe et renvoie false, et l'imprime dans la méthode de la classe et renvoie true. Assurez-vous que vous êtes connecté

.

Sur la photo :

renvoie faux

怪我咯怪我咯2755 Il y a quelques jours1104

répondre à tous(2)je répondrai

  • 高洛峰

    高洛峰2017-05-16 13:00:35

    Raison

    Ce problème existe depuis que Laravel 5.3 a commencé à regrouper les routes. La raison en est que le middleware ne s'exécute pas lorsque la construction est exécutée.

    Solution

    use Closure;
    
    class Controller extends BaseController
    {
        use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
    
        protected $user;
    
        public function __construct(Request $request)
        {
            $this->middleware(function($request,Closure $next){
    
                $this->user = Auth::user();
    
                return $next($request);
    
            });
    
        }
    }

    répondre
    0
  • 迷茫

    迷茫2017-05-16 13:00:35

    fonction __construct(Request $request)

    {
        $this->middleware(function ($request, $next) {
            dd(Auth::check());
        });
    }

    répondre
    0
  • Annulerrépondre