我正在使用自定義表進行用戶認證。我可以登錄成功,就像我在AuthController.php
Laravel沒有爲用戶創建認證會話
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,
]
]
我在做什麼錯?我如何創建用戶會話?
任何幫助表示讚賞!