我在 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
顶部使用模型命名空间。问题已解决;)