Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 所有自定义请求ibn laravel的常见验证错误_Php_Laravel_Request - Fatal编程技术网

Php 所有自定义请求ibn laravel的常见验证错误

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

我使用laravel Spatial制作了基于角色的laravel api。只有拥有特定权限的用户才能访问该api。对于验证api权限,我使用laravel请求进行表单和api验证。现在的问题是,我有多个方法进行方法验证,我为特定的方法创建了不同的请求文件

我的请求文件中的权限验证代码

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()
方法,因为在上面的场景中,每个请求文件中都有代码重复。

创建一个作为基本函数的请求,而不是让所有其他请求文件扩展该基本请求。或者使用一个特征。这是一个有效的方法吗?还有其他方法吗?为什么它不是一个有效的方法?这是面向对象编程的工作方式。创建一个作为基本函数的请求,而不是让所有其他请求文件扩展该基本请求。或者使用一个特征。这是一个有效的方法吗?还有其他方法吗?为什么它不是一个有效的方法?这就是面向对象编程的工作方式。