Я создать новое имя промежуточного админпанельLaravel 5.2: Как использовать авторизацию в промежуточное программное
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\Auth;
class Adminpanel
{
public function handle($request, Closure $next)
{
if(Auth::user()->role == 'admin'){
return $next($request);
}else{
return redirect('admin/login');
}
}
}
и зарегистрировать промежуточное программное обеспечение
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'adminpanel' => \App\Http\Middleware\Adminpanel::class,
];
и маршрут
Route::group(['middleware' => ['web','adminpanel']], function() {
Route::get('/admin/dashboard/', 'admin\[email protected]');
//
}) ;
, но когда я запустил, он спрашивает меня. Попытка получить свойство не-объекта, означает, что я не мог получить доступ к классу Auth здесь, может кто-нибудь сказать мне, что является ошибкой и как получить доступ к Auth Facade в промежуточном программном обеспечении.
и это мой код аутентификации
public function authenticate(Request $request)
{
if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password'), 'role' => 'admin'], $request->input('remember')))
{
return redirect()->intended('admin/dashboard');
}
else{
return redirect('admin')->with('response',-1);
}
}
Благодаря
Просто смотрите здесь. Я сделал то, что вам нужно. http://stackoverflow.com/questions/34614753/can-anyone-explain-laravel-5-2-multi-auth-with-example – imrealashu
Я использую отдельную таблицу базы данных и поле роли для разных типов пользователей –