我应该如何在 Laravel 5.6 中实现授权



我在 laravel 5.3 中成功实现了授权。但是在 Laravel 5.6 策略方法中,例如索引、视图、...不起作用,Laravel不会在策略上调用这些方法。为什么?

控制器:

public function index($member)
{
$this->authorize(Time::find($member));
...
}

身份验证服务提供商:

protected $policies = [
User::class => UserPolicy::class,
Time::class => TimePolicy::class,
];

时间策略:

public function index(User $user, Time $time)
{
if ($time->member_id == $user->id)
return true;
}
public function view(User $user, Time $time)
{
if ($time->member_id == $user->id) {
return true;
}
}

为什么 Laravel 5.6 不调用相关的策略方法?

我忘了在AuthServiceProvider顶部使用模型命名空间。问题已解决;)

最新更新