2012-07-27 111 views
0

我正在使用Yii在PHP中编写应用程序。我试图添加用户能够以不同方式进行身份验证的功能。如何为用户设置多个身份验证器

我的主要问题是什么是最好的方式去了解它。

例如,我在想这样做的东西,像这样的:

有验证器的表中相关于类的数据库。

在users表中,有一个与认证者相关的认证者id列。

这是关于我卡住的地方。我想尽可能成为Yii,然后使用ActiveRecord。每个验证者都需要知道用户ID,所以我必须将它传递给验证器模型(它存储类名),然后找到一种方法来拉取实际的类,同时将用户传递给该类。

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

任何指导将不胜感激。

谢谢! Kyle

回答

0

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

+0

提交这个问题后,我意识到我正在做的一切都错了,它没有真正意义上的绑定多个身份验证到单个用户ID ...我不知道我有什么想法,但在我顿悟之后,我放弃了这个想法。然而,你的答案最接近我的实际问题,这就是为什么我选择你作为答案,因为这对于如何实施这样的策略是最有意义的。谢谢! – Kyle 2012-07-30 18:56:39

0

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