2012-07-27 107 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模塊。