Попытка войти как администратор, но я не могу - PullRequest
0 голосов
/ 28 апреля 2018

Я создал логин администратора и не могу войти. Я уже сделал таблицу администрирования в базе данных, охрану для администратора, и я все настроил на своем контроллере и моей модели, но я не могу войти.

это мой контроллер

public function login(Request $request)
{
  // Validate the form data
  $this->validate($request, [
    'email'   => 'required|email',
    'password' => 'required|min:6'
  ]);
  // Attempt to log the user in
  if (Auth::guard('admin')->attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
    // if successful, then redirect to their intended location
    return redirect()->intended(route('admin.dashboard'));
  }
  // if unsuccessful, then redirect back to the login with the form data
  return redirect()->back()->withInput($request->only('email', 'remember'));
}

1 Ответ

0 голосов
/ 28 апреля 2018

Сначала добавьте роль столбца в вашу таблицу пользователей. Затем вам нужно сделать промежуточное ПО, используя команду

php artisan make: middleware Admin

Это создает файл с именем Admin.php в каталоге app / Http / Middleware, который выглядит как

<?php namespace App\Http\Middleware;

use Closure;
use Auth;
class Admin {

   public function handle($request, Closure $next)
   {

      if ( Auth::check() && Auth::user()->role==='admin')
      {
        return $next($request);
      }

      return redirect('home');

   }

}

Затем необходимо добавить промежуточное ПО администратора в файл приложения / Http / Kernel.php

protected $routeMiddleware = [
    //
   'admin' => 'App\Http\Middleware\Admin', // this line right here
];

Добавление промежуточного программного обеспечения администратора в маршрут. (В вашем файле rout.php).

Route::get('/admin,function(){

 //statement
})->middleware('auth','admin');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...