App\Http\Controllers\Admin\ExampleController.php
public function index()
{
dd('index');
}
app\Policies\ExamplePolicy.php
public function viewAny(User $user)
{
return true;
}
app\Providers\AuthServiceProvider.php
protected $policies = [
'App\Models\Example' => 'App\Policies\ExamplePolicy',
];
routes/admin.php
Route::get('example', [ExampleController::class, 'index'])->middleware('can:viewAny,App\Models\Example')
但是
->middleware('can:viewAny,App\Models\Example')
总是返回 403,当我删除它时,dd('index')
将运行。
我错过了什么吗?
虽然我已经登录了,但是由于
auth()->user()
和其他的分离,admin
一直为空。因此,只需将 web
添加到中间件即可。
Route::get('example', [ExampleController::class, 'index'])->middleware(['web', 'can:viewAny,App\Models\Example'])
同样的问题,这个问题解决了吗?