Я использую laravel 5.7, я хочу разделить маршрут для пользователя и администратора, поэтому я создал файл маршруты / admin.php , ранее все маршруты (для пользователя и администратора) в маршруты /web.php , после разделения маршрутов вход в систему не работает ни для администратора, ни для пользователя.
здесь routs / admin.php
Route::group(['namespace' => 'Admin\Dashboard'],function () {
Route::get('/','DashboardController@index')->name('admin.dashboard');
Route::post('/top_categories','DashboardController@topCategories')->name('admin.top_categories');
});
Route::group(['namespace' => 'Admin\Auth'],function () {
Route::get('/login','LoginController@showAdminLoginForm')->name('admin.login');
Route::post('/login','LoginController@adminLogin');
Route::post('/logout', 'LoginController@logout')->name('admin.logout');
Route::get('/register','RegisterController@showAdminRegisterForm')->name('admin.register');
Route::post('/register', 'RegisterController@createAdmin');
Route::get('/forgot-password','ForgotPasswordController@showForgotPassword')->name('admin.forgot-password');
Route::post('/forgot-password', 'ForgotPasswordController@sendResetLinkEmail')->name('admin.send-reset-email');
});
и в RouteServiceProvider.php
class RouteServiceProvider extends ServiceProvider
{
protected $namespace = 'App\Http\Controllers';
public function map()
{
$this->mapApiRoutes();
$this->mapWebRoutes();
$this->mapAdminRoutes();
}
protected function mapWebRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/web.php'));
}
protected function mapAdminRoutes(){
Route::middleware('web')
->namespace($this->namespace)
->prefix('admin')
->group(base_path('routes/admin.php'));
}
}
Но после этого я не могу войти как для пользователя, так и для администратора, страница перенаправляется обратно на страницу входа, даже если я вхожуправильные учетные данные, ранее он работал правильно, когда я не создал отдельный файл для администратора
Вот код для AdminLoginController :
<?php
namespace App\Http\Controllers\Admin\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/admin';
public function __construct()
{
$this->middleware('guest:admin')->except('logout');
}
public function showAdminLoginForm()
{
return view('admin.auth.login');
}
public function adminLogin(Request $request)
{
$this->validate($request, [
'email' => 'required|email',
'password' => 'required|min:6'
]);
if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->get('remember'))) {
return redirect()->intended(route('admin.dashboard'));
}
return back()->withInput($request->only('email', 'remember'));
}
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->flush();
$request->session()->regenerate();
return redirect()->route('admin.login');
}
}
У меня естьтакже пытался очистить кэш маршрутов: php artisan route:clear
, но не повезло: (
Странно то, что при перенаправлении после входа в систему отображается текст, а вход по-прежнему не работает.
кто-нибудь, пожалуйста, помогите мне решить эту проблему.