Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.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
Laravel 一个模型,一个表不同的用户类型和不同的控制器,如何处理策略?_Laravel_Policies - Fatal编程技术网

Laravel 一个模型,一个表不同的用户类型和不同的控制器,如何处理策略?

Laravel 一个模型,一个表不同的用户类型和不同的控制器,如何处理策略?,laravel,policies,Laravel,Policies,我有一个模型用户和一个针对该模型的表格用户我有不同的用户角色,如患者、医院等,每个用户在注册过程中输入不同的字段和值,因此我为不同的角色创建了不同的路线和控制器 现在,在授权过程中,我面临着如何授权的问题。我只有一个型号用户,因此我只能创建一个名为UserPolicy的策略,并使用UserController中的$this->authorize方法 我还有其他控制器,如PatientController,HospitalController,它们都绑定到一个名为user的表和模型,并仅根据用户类

我有一个模型
用户
和一个针对该模型的表格
用户
我有不同的用户角色,如患者、医院等,每个用户在注册过程中输入不同的字段和值,因此我为不同的角色创建了不同的
路线
控制器

现在,在
授权过程中,我面临着如何授权的问题。我只有一个型号
用户
,因此我只能创建一个名为
UserPolicy
策略
,并使用
UserController
中的
$this->authorize
方法


我还有其他控制器,如
PatientController
HospitalController
,它们都绑定到一个名为
user
的表和模型,并仅根据用户类型获取记录现在,我如何为他们创建策略,并在医院、患者控制员中使用
$this->authorize
方法?

您使用的是同一个表,需要不同类型的if用户提供不同的数据? 无论如何,如果出现这种情况,您可以在users表中创建一个type字段,然后创建两个中间件,在中间件中检查用户的类型,然后抛出异常或使其通过