В Laravel 5.6
вам нужно сделать следующее.
Имеется авторизация form - processes
LoginController
, в моем случае я изменил адрес электронной почты на имя, а пароль остался.
Если такой пользователь с таким паролем, то я разрешаю его, а если у пользователя нет такого имени и пароля, то необходимо зарегистрироваться с введенными данными.
Вот класс LoginController
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function redirectTo()
{
return '/';
}
public function username() {
return 'name';
}
/**
* Handle a failed authorization attempt.
*
* @return void
*
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
protected function sendFailedLoginResponse(Request $request)
{
// What you need to do to register a user
}
}
Я думал переопределить sendFailedLoginResponse
, чтобы зарегистрировать пользователя в тот момент. Запустите как RegisterController
и перенесите данные из запроса POST
.
Подскажите, как реализовать эту идею?