2017-02-23 2 views
0

Выполняю аутентификацию пользователя с помощью пользовательской таблицы. Я могу успешно войти в систему как, когда я в AuthController.phpLaravel не создает аутентифицированный сеанс для пользователя

public function authenticated(Request $request, $user) 
{ 
    dd($user); 
} 

Я получаю информацию о пользователе.

Но когда я получить доступ к какому-либо другому маршруту, и в соответствующем контроллере, когда я делаю

  • dd(Auth::user()) возвращает null
  • dd(session()->all()) возвращает _token
  • dd(Auth::check()) возвращает false

Я использую public_users стол для аутентификации ионов и public_email, public_password поля для ведения аутентификации, поэтому я изменил файл App\User.php следующим образом:

class User extends Authenticatable 
{ 
    protected $table = 'public_users'; 
    protected $primaryKey = 'public_users_id'; 
    protected $fillable = [ 
     'public_email', 
     'public_password' 
    ]; 
    protected $hidden = [ 
     'public_password' 
    ]; 

    // Override required, Otherwise existing Authentication system will not match credentials 
    public function getAuthPassword() 
    { 
     return $this->public_password; 
    } 
} 

и app/Http/Controllers/Auth/AuthController.php Я добавил код ниже

public function loginUsername() 
{ 
    return property_exists($this, 'username') ? $this->username : 'public_email'; 
} 

public function authenticated(Request $request, $user) 
{ 
    dd($user); 
} 

и мой config/auth.php имеет

'guards' => [ 
    'web' => [ 
     'driver' => 'session', 
     'provider' => 'users', 
    ], 

    'api' => [ 
     'driver' => 'token', 
     'provider' => 'users', 
    ], 
], 
'providers' => [ 
    'users' => [ 
     'driver' => 'eloquent', 
     'model' => App\User::class, 
    ] 
] 

Что я делаю неправильно? Как я могу создать сеанс пользователя?

Любая помощь оценена!

ответ

-1

решенной!

Я удалил dd($user) с app/Http/Controllers/Auth/AuthController.php, который закрывал запрос LifeCycle и каждый раз создавал новый токен. Все, что мне было нужно, это перенаправить по умолчанию в handleUserWasAuthenticated в /vendor/laravel/framework/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php

protected function authenticated(Request $request, $user) 
{ 
    return redirect()->intended($this->redirectPath()); 
} 
0

Попробуйте auth()->user() после авторизации

Смежные вопросы