Ich benutze Laravel 5.3 und den php artisan Befehl make:auth
um die Registrierung und Anmeldung zu scaffold. Nachdem sich ein Nutzer registriert hat, möchte ich ihn auf eine Seite umleiten, auf der beispielsweise "Ihre E-Mail-Adresse bestätigen" steht, und ich möchte nicht, dass sich der Nutzer automatisch wie standardmäßig anmeldet.Laravel 5.3 Redirect User nach der Registrierung
Ich kann nur denken, in der create()
Methode in der RegisterController, anstatt den Benutzer zurück (ich nehme an, dass es ist, wo es automatisch anmeldet), möchte ich zu einer anderen Ansicht umleiten.
protected function create(array $data)
{
$confirmation_code = str_random(30);
Mail::to($data['email'])->send(new Company($confirmation_code));
User::create([
'confirmation_code' => $confirmation_code,
'password' => bcrypt($data['password']),
'email' => $data['email']
]);
return redirect()->route('verifyemail');
}
Aber ich bekomme diese Fehlermeldung: Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, instance of Illuminate\Http\RedirectResponse given, called in C:\xampp\htdocs\app\vendor\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php on line 32 and defined
ich die register(Request $request)
Methode in der RegistersUsers.php außer Kraft zu setzen versucht, die Leitung zu nehmen, dass die Anmeldungen macht, aber es funktioniert immer noch nicht.
Irgendwelche Ideen?
BEARBEITEN: Ich fügte $this->guard()->logout();
der überlagerten register
Methode hinzu, nachdem es die Anmeldung macht. Es funktioniert, aber es ist nicht der richtige Weg, dies zu tun, und ich würde gerne eine andere Lösung finden ..
Das klingt wie eine unnötige Problemumgehung. Es muss einen einfacheren Weg geben. –