我会尽力解释。我正在开发一个电子商务应用程序,为了提供后端授权,我将 laravel 策略应用于模型(产品模型)。
当我尝试在前端视图中使用相同的产品模型时,问题就出现了,所有用户都可以看到这些产品。
无论路由视图是否受到保护,策略都适用于所有模型,并且我找不到离开某些视图(例如:前端>列出产品)从没有授权策略的模型中检索信息的方法。
例如:应用于后端视图的策略:
public function view(User $user)
{
$method = (string)$this->ability;
if ($user->hasRole($this->Model) === null) {
return 0;
}
return $user->hasRole($this->Model)->$method;
}
我需要的是在产品策略中创建另一个公共功能,在前端列出产品而不向用户请求授权。
谢谢。