使用laravel的gate的时候发现在authServerProvider定义的gate不能触发
我在authServerProvider里面返回true也没有用,按照文档里面也没有发现问题
相关代码
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
// 'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Gate::define('update-post', function ($user, $post) {
return true;
});
}
}
这是控制器代码
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Resources\UserResource;
use App\Model\Admin\Post;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Gate;
class UserController extends Controller
{
public function index()
{
//return new UserResource(User::find(1));
$post = Post::find(1);
$status = Gate::allows('update-post', $post);
dd($status);// 这里一直返回的是false
return view('welcome');
}
}
这里不应该返回的是true吗?
原因是必须是登录