Php 所有自定义请求ibn laravel的常见验证错误
我使用laravel Spatial制作了基于角色的laravel api。只有拥有特定权限的用户才能访问该api。对于验证api权限,我使用laravel请求进行表单和api验证。现在的问题是,我有多个方法进行方法验证,我为特定的方法创建了不同的请求文件 我的请求文件中的权限验证代码Php 所有自定义请求ibn laravel的常见验证错误,php,laravel,request,Php,Laravel,Request,我使用laravel Spatial制作了基于角色的laravel api。只有拥有特定权限的用户才能访问该api。对于验证api权限,我使用laravel请求进行表单和api验证。现在的问题是,我有多个方法进行方法验证,我为特定的方法创建了不同的请求文件 我的请求文件中的权限验证代码 public function authorize(){ if(Auth::user() -> hasPermissionTo('show all users')) { return
public function authorize(){
if(Auth::user() -> hasPermissionTo('show all users')) {
return true;
} else {
return false;
}
}
如果用户未获得特定权限的授权,API将返回授权错误消息
public function failedAuthorization() {
$exception = new NotAuthorizedException('This action is unauthorized.', 403);
throw $exception->redirectTo("safepage");
}
现在的问题是,根据我的不同方法,我有许多请求文件,并且此
failedAuthorization
代码在我的所有请求文件中重复,是否有方法为所有请求文件创建公共failedAuthorization()
方法,因为在上面的场景中,每个请求文件中都有代码重复。创建一个作为基本函数的请求,而不是让所有其他请求文件扩展该基本请求。或者使用一个特征。这是一个有效的方法吗?还有其他方法吗?为什么它不是一个有效的方法?这是面向对象编程的工作方式。创建一个作为基本函数的请求,而不是让所有其他请求文件扩展该基本请求。或者使用一个特征。这是一个有效的方法吗?还有其他方法吗?为什么它不是一个有效的方法?这就是面向对象编程的工作方式。