I’m currently developing a website in Zend Framework wich uses Zend_Auth. The current design of the database is the following:
- users – id / email
- users_props – id – user_id – prop_name – prop_value
However, the current Zend_Auth_Adapter_DbTable uses only one table, as where I have to tables and need to join them.
How on earth can I do this? As far as i’m concerned, there are three options:
- I somehow create a (mysql) view
- I change the design so the users table contains both username/password
- I rewrite the Zend_Auth_Adapter_DbTable to a Custom_Auth_Adapter_DbTabe
Can anyone point me out what the best practise is?
Thanks in advance 🙂
The proper thing to do is to create a custom
Zend_Auth_Adapterthat authentication to your particular DB schema.Its actually pretty easy, there is only a single method in the interface to implemnt. Its also possible you could jsut extend
Zend_Auth_Db_Adapterand override methods as necessary. Probably only what builds executes and returns the query result. But honestly i would just implment the interfae from scratch were it me. A lot easier that way IMO 🙂