Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 如何为用户设置多个身份验证程序_Php_Mysql_Yii - Fatal编程技术网

Php 如何为用户设置多个身份验证程序

Php 如何为用户设置多个身份验证程序,php,mysql,yii,Php,Mysql,Yii,我正在使用Yii用PHP编写一个应用程序。我试图为用户添加一种能力,使其能够以不同的方式进行身份验证 我的主要问题是什么是最好的解决方法 例如,我正在考虑这样做: 在与类相关的数据库中有一个身份验证器表 在users表中,有一个与验证器相关的验证器id列 这就是我被卡住的地方。我正在尽可能地成为一名Yii,并使用ActiveRecord。每个验证器都需要知道用户ID,因此我必须将其传递给验证器模型(存储类名),然后找到一种方法来提取实际的类,同时也将用户传递给该类 这一切似乎有点。。。过度杀戮

我正在使用Yii用PHP编写一个应用程序。我试图为用户添加一种能力,使其能够以不同的方式进行身份验证

我的主要问题是什么是最好的解决方法

例如,我正在考虑这样做:

在与类相关的数据库中有一个身份验证器表

在users表中,有一个与验证器相关的验证器id列

这就是我被卡住的地方。我正在尽可能地成为一名Yii,并使用ActiveRecord。每个验证器都需要知道用户ID,因此我必须将其传递给验证器模型(存储类名),然后找到一种方法来提取实际的类,同时也将用户传递给该类

这一切似乎有点。。。过度杀戮

任何指导都将不胜感激

谢谢!
Kyle

只需创建自己的CUserIdentity后代,它实现了工厂模式。听起来很难,但我认为根本没有简短的答案。

在这个主题中,你有你所有的答案:。

我建议你使用rbac方法,最简单的方法是使用模块。

我在提交这个问题后意识到,我把所有事情都搞错了,将多个身份验证程序绑定到一个用户ID上没有真正意义。。。我不确定我是从哪里得到这个想法的,但在我顿悟之后,我放弃了这个想法。然而,你的回答最接近我的实际问题,这就是为什么我选择你作为答案,因为这对如何实施这样一个战略最有意义。谢谢