Home > Enterprise >  stay login laravel 9
stay login laravel 9

Time:03-09

can't stay login in project,

this is my code in appserviceprovider.php ,

    Auth::loginUsingId(18876 ,true);

is true and login and get ,

    dd(auth()->user()->id);

my output,

^ 18876

this picture, enter image description here

and my export in website user is loggedin, enter image description here if comment this Auth::loginUsingId(18876 ,true); and write dd(auth()->user()->id); enter image description here and check user is login

  if (Auth::check()) {
        dd(1);
    } else {
        dd(2);
    }

output

enter image description here

CodePudding user response:

Laravel session is initialized in a middleware so you can't access the session from a Service Provider, because they execute before the middleware in the request lifecycle

You should use a middleware to share your varibles from the session

However, If for some other reason you want to do it in a service provider, you can do it using a view composer with a callback, like this:

public function boot()
{
    //compose all the views....
    view()->composer('*', function ($view) 
    {
      auth()->user();
    });  
}

The callback will be executed only when the view is actually being composed, so middleware will be already executed and session will be available

  • Related