В моем экземпляре Laravel защита или промежуточное ПО не работает.Моя админ-панель всегда видна как авторизованная, так и не авторизованная.Я не понимаю, в чем проблема.
Маршрут
Route::get('/admin', 'admin\adminController@index')->middleware('auth:admin');
Route::get('/admin-login', 'auth\adminLoginController@index');
Route::post('/admin-login', 'auth\adminLoginController@login')->name('admin.login.submit');
Контроллер
<?php
namespace App\Http\Controllers\auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Auth;
class adminLoginController extends Controller
{
function __construct()
{
$this->middleware('guest:admin');
}
public function index()
{
return view('auth.admin-login');
}
public function login(Request $request)
{
$this->Validate($request, [
'email' => 'required|email',
'password' => 'required|min:6'
]);
if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], false, false)) {
return redirect('/admin');
}
return redirect()->back()->with('message', 'Invalid Information');
}
}
Если яудалите __construct()
, тогда я смогу зайти на страницу входа администратора, иначе я не смогу зайти !!
мой код auth.php
:
Охрана:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'admin-api' => [
'driver' => 'token',
'provider' => 'admins',
],
],
Провайдеры
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\admin::class,
],
],
adminController
namespace App\Http\Controllers\admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;
class adminController extends Controller
{
public function index()
{
$user = User::all();
$maleuser = User::where('gender', 'male')->get();
$femaleuser = User::where('gender', 'female')->get();
return view('admin/index')
->with('users', $user)
->with('maleusers', $maleuser)
->with('femaleusers', $femaleuser);
}
}