如何为用户设置多个身份验证器

时间:2012-07-27 00:35:10

标签: php mysql yii

我正在使用Yii在PHP中编写应用程序。我正在尝试为用户添加能够以不同方式进行身份验证的功能。

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

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

在数据库中有一个与类相关的Authenticators表。

在users表中,有一个与身份验证者相关的身份验证者ID列。

这是关于我陷入困境的地方。我想在这里成为Yii并使用ActiveRecord。每个身份验证者都需要知道用户ID,因此我必须将其传递给身份验证器模型(存储类名),然后找到一种方法来提取实际的类,同时将用户传递给它。 / p>

所有这些似乎有点......过度杀人。

非常感谢任何指导。

谢谢! 凯尔

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您在本主题中拥有所有答案:Authentication and Authorization

答案 2 :(得分:0)

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