This is a extension of this question. I am trying to follow the accepted answer for multi auth, adding one more user table admin
to my Laravel project. I have done all thing as he said, adding the guards, controller, middleware and routes for admin model
. But when I enter the locolhost/admin/register
, which is set previously in routes.php
, and enter the information for registration, I got an error of View [admin.auth.register] not found.
Given the routes.php
according to that questions:
Route::group(['middleware' => ['web']], function () {
#Route::auth();
Route::get('web-login', 'Auth\AuthController@webLogin');
Route::post('web-login', ['as'=>'web-login','uses'=>'Auth\AuthController@webLoginPost']);
Route::get('/admin/login','AdminAuth\AuthController@showLoginForm');
Route::post('/admin/login','AdminAuth\AuthController@login');
Route::get('/admin/logout','AdminAuth\AuthController@logout');
// Registration Routes...
Route::get('admin/register', 'AdminAuth\AuthController@showRegistrationForm');
Route::post('admin/register', 'AdminAuth\AuthController@register');
Route::get('/admin', 'AdminController@index');
Route::get('/', function () {
return view('welcome');
});
And the AdminAuth/AuthController.php
:
public function showLoginForm()
{
if (view()->exists('auth.authenticate')) {
return view('auth.authenticate');
}
return view('admin.auth.login');
}
public function showRegistrationForm()
{
return view('admin.register');
}
Just showLoginForm
is defined, but the register
function has not. Do you know how should I define it? Thanks in advance!
EDIT:
Here is what I have tried:
public function register(Request $request)
{
$validator = $this->validator($request->all());
if ($validator->fails()) {
$this->throwValidationException(
$request, $validator
);
}
Auth::login($this->create($request->all()));
return redirect($this->redirectPath());
}
But I got an NotFoundHttpException
error. Do you have any idea of it? Thanks!!!