Php 从上下文调用受保护的方法App\Http\Middleware\Admin::handle();照亮\Pipeline\Pipeline';
我对拉威尔真的很陌生。我试着按照一些youtube教程创建页面。在调用保护方法不受上下文管道影响时,突然出现了错误。我试着去寻找那个错误,但是没有。我希望任何人都能帮我告诉我到底是什么问题。下面我附上我的代码 路线: 文件夹中有两个控制器 Admin和adminauth 管理员控制器:Php 从上下文调用受保护的方法App\Http\Middleware\Admin::handle();照亮\Pipeline\Pipeline';,php,laravel,Php,Laravel,我对拉威尔真的很陌生。我试着按照一些youtube教程创建页面。在调用保护方法不受上下文管道影响时,突然出现了错误。我试着去寻找那个错误,但是没有。我希望任何人都能帮我告诉我到底是什么问题。下面我附上我的代码 路线: 文件夹中有两个控制器 Admin和adminauth 管理员控制器: <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Con
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AdminControll extends Controller
{
public function __construct ()
{
$this->middleware('Admin');
}
public function dashboard()
{
return view('Admin.layout');
}
}
handle()
方法应该是公共的,如下所示:
public function handle($request,Closure $next,$guard = 'Admin')
在中间件(Admin.php)
中,将句柄
方法的可见性设置为公共
Laravel无法访问Admin类之外的句柄
方法,因为它被设置为受保护
<?php
namespace App\Http\Controllers\Adminauth;
use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\RegistersUsers;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Auth;
class AuthController extends Controller
{
use RegistersUsers, ThrottlesLogins;
protected $redirecTo = '/dashboard';
protected $guard = 'Admin';
public Function showLoginForm()
{
if(Auth::guard('Admin')->check())
{
return redirect('/dashboard');
}
return view ('login');
}
public function logout(){
Auth::guard('Admin')->logout();
return redirect('/');
}
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class Admin
{
/**
* Get the path the user should be redirected to when they are not authenticated.
* @param mixed
* @param \Closure $next
* @param \Illuminate\Http\Request $request
* @return string|null $guard
*/
protected function handle($request,Closure $next,$guard = 'Admin')
{
if(!Auth::guard($guard)->check()){
return redirect('/');
}
return $next($request);
}
}
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'Admin' => \App\Http\Middleware\Admin::class,
];
}
public function handle($request,Closure $next,$guard = 'Admin')