Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Authentication Kohana 3.3扩展Auth模块_Authentication_Kohana_Multi User - Fatal编程技术网

Authentication Kohana 3.3扩展Auth模块

Authentication Kohana 3.3扩展Auth模块,authentication,kohana,multi-user,Authentication,Kohana,Multi User,我正在使用Auth模块构建一个应用程序,我至少需要3种帐户类型:雇主、雇员和客户。由于这些帐户具有不同的属性、功能和关系(例如:雇主有许多雇员),我想我需要将它们放在3个单独的ORM模型上 我想的方法是调整Auth模块,用相应的子模型(雇主、雇员、客户)替换“用户”模型,对应数据库中的用户类型 这是可以做到的,还是不好的做法?对于这种情况,您需要为扩展默认身份验证的模型用户类的每个帐户类型创建不同的模型类 然后,您需要在应用程序/classes文件夹中创建新的Auth\u ORM类扩展Kohan

我正在使用Auth模块构建一个应用程序,我至少需要3种帐户类型:雇主、雇员和客户。由于这些帐户具有不同的属性、功能和关系(例如:雇主有许多雇员),我想我需要将它们放在3个单独的ORM模型上

我想的方法是调整Auth模块,用相应的子模型(雇主、雇员、客户)替换“用户”模型,对应数据库中的用户类型


这是可以做到的,还是不好的做法?

对于这种情况,您需要为扩展默认身份验证的
模型用户
类的每个帐户类型创建不同的模型类

然后,您需要在
应用程序/classes
文件夹中创建新的
Auth\u ORM
类扩展
Kohana\u Auth\u ORM


在这个文件中,您需要重写
protected\u login()
方法,使其
$user
变量指向所需的帐户类型。

我在这里找到了有趣的存储库:。
我和你有同样的问题,所以如果你能解决它,你可以分享解决方案。我认为这个链接中的存储库可能是一个解决方案,但我到目前为止还没有实现它

您可以有1个模型用户和3个不同的角色。根据角色的不同,您可以加载特定的模块,该模块将包含所需的类


例如,如果用户具有角色Employee,则您将加载模块/role_Employee

,但使用此功能,您的数据库中将为用户提供各种表,这将导致
角色_users
中的fk约束出现问题,或者如果共享一个表,您将有未使用/不需要的行。另外,为角色而不是用户设置单独的类是否更有意义?可能是这样。问题是:在这种情况下是否需要角色?在我的示例中,我不会使用角色。每个帐户类型本身都是一个角色。对所有用户使用相同的用户表,并为雇主、雇员和客户使用连接表。