2012-04-12 57 views
0

我目前正在Zend Framework中開發一個使用Zend_Auth的網站。數據庫的當前設計如下:Zend Auth - 使用兩個表

  • 用戶 - ID /電子郵件
  • users_props - 標識 - USER_ID - prop_name - 請將prop_value

不過,目前Zend_Auth_Adapter_DbTable只使用一個表,如我需要桌子並需要加入他們。

我怎麼可以做到這一點?就我而言,有三種選擇:

  1. 我莫名其妙地創建一個(MySQL的)查看
  2. 我改變設計,使用戶表既包含用戶名/密碼
  3. 我重寫Zend_Auth_Adapter_DbTable到Custom_Auth_Adapter_DbTabe

任何人都可以指出我最佳做法是什麼?

感謝提前:)

+0

爲什麼不看一個視圖? – rjmcb 2012-04-12 01:54:43

回答

4

做正確的事情是創建一個自定義Zend_Auth_Adapter的認證您的特定數據庫架構。

其實很容易,在接口中只有一個方法可以實現。它也有可能只需要擴展Zend_Auth_Db_Adapter並覆蓋方法。可能只有構建執行並返回查詢結果。但老實說,我只是從頭開始就是從我這裏開始。這種方式很容易IMO :-)

+0

您的評論讓我意識到我在尋找錯誤。實際上這很容易。對於其他正在尋找Zend_Auth_Adapter_DbTable需要使用兩列的人;編寫你自己的Custon_Auth_Adapter。例如:http://stackoverflow.com/questions/3328047/creating-own-zend-auth-adapter :) – ChrisH 2012-04-12 02:15:46