我正在从 Laravel 4 迁移到 5.7,但我的自定义身份验证提供程序遇到了问题。我遵循了各种演练(例如1、2、3)以及相当多的谷歌搜索。
我尝试通过以下方式使其工作:
设置守卫和提供者并链接到我的目标模型。
'defaults' => [
'guard' => 'custom_auth_guard',
'passwords' => 'users',
],
'guards' => [
'custom_auth_guard' => [
'driver' => 'session',
'provider' => 'custom_auth_provider',
],
],
'providers' => [
'custom_auth_provider' => [
'driver' => 'custom',
'model' => App\UserAccount::class,
],
],
Run Code Online (Sandbox Code Playgroud)
注册上述提供程序中定义的驱动程序。为了方便起见,我搭载了 AuthServiceProvider
...
public function boot()
{
$this->registerPolicies();
\Auth::provider('custom',function() {
return new App\Auth\CustomUserProvider;
});
}
...
Run Code Online (Sandbox Code Playgroud)
创建了我的自定义提供程序,其中包含retrieveByCredentials等。我已经用一些 die() 替换了逻辑,以验证它是否在这里实现。在 Laravel 4 中,它曾经转到 validateCredentials()。
class CustomUserProvider implements UserProviderInterface {
public …Run Code Online (Sandbox Code Playgroud) laravel ×1