1
私はlaravel 5.2の複数のテーブル(ユーザ、管理)の認証機能を使用しています。ミドルウェアの機能以外はすべて正常に動作しています。デフォルトの 'auth'(Authenticate.php)が動作していないので、ユーザーを確認するためのカスタム 'auth.super_admin'(SuperAdminMiddleware.php)を作成します。ここに私のauth.phpファイルここLaravel 5.2複数のテーブル認証とミドルウェアが正常に動作しない
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admins' => [
'driver' => 'session',
'provider' => 'admins'
]
],
であるAuthenicateミドルウェアとSuperAdminMiddleware方法:だから
Authenticate.php
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
SuperAdminMiddleware.php
public function handle($request, Closure $next)
{
if(\Auth::guard('admins')->check())
{
return $next($request);
}
return redirect('/');
}
私はそれがないコントローラのコンストラクタで「認証」を使用していた作品および対応する方法が呼び出されます。私がやっていることや間違っていることは何ですか?
は、たぶん私はあなたが塗装している絵について何かが欠けていますが、私はあなたが同じファイルに二回handleメソッドを定義することができるとは思いません。 –
どのメソッドもAuthenticate.php middlwareにあり、その他はSuperAdminMiddleware.phpファイルにありません。 @JeremyAnderson –