I did something like this to merge two tables into one, using the Zend_Auth.
 
$this->auth = Zend_Auth::getInstance();
$authAdapter = new Zend_Auth_Adapter_DbTable($this->db);
$authAdapter->setTableName('users');
$authAdapter->setIdentityColumn('username');
$authAdapter->setCredentialColumn('password');
$authAdapter->setCredentialTreatment('md5(?)');
// Set the input credential values to authenticate against
$authAdapter->setIdentity($params['username']);
$authAdapter->setCredential($params['password']);
// try and authenticate the user
$result = $this->auth->authenticate($authAdapter);
if ($result->isValid()) {
// success
$data = $authAdapter->getResultRowObject();
// returns object array, id, username, password, aclgroup
// get this users details
$dat = getUserData($data->id);
// returns db array, first name, last name, e-mail, subscription exp date,
last online, tracking token, etc
// merge data from Auth object
$dat['username'] = $data->username;
$dat['aclgroup'] = $data->accessgroup;
// save modified auth data
$this->auth->getStorage()->write((object) $dat );
} else {
// invalid login, show error
}

Maybe it will help you some.

Terre
 
  

  _____  

From: Eric Haskins [mailto:cybertuff...@verizon.net] 
Sent: Thursday, January 15, 2009 12:51 AM
To: fw-general@lists.zend.com
Subject: [fw-general] Zend_Auth and a Join??



Hello can anyone tell me the best way to accomplish this? I am porting a 
legacy app I maintain to use MVC. On the auth query I join a customer info 
table to store some other info in the session. 

// Login Attempt 
        $sql = "SELECT 
                                *, 
                                UNIX_TIMESTAMP(renew) AS renew_unix, 
                                UNIX_TIMESTAMP(signup) AS signup_unix 
                        FROM 
                                `users` 
                                LEFT JOIN `users_info` USING (userid) 
                        WHERE 
                                username = '".clean_string('username')."' 
                                AND 
                                passwd = '".md5(clean_string('passwd'))."'";

        $res = $db->get_row($sql); 

How can I port this for use Zend_Auth so the additional info is stored in 
the Auth or should I just suck it up and combined users_info and users.   

Thx for any ideas 

Eric

 

 

Reply via email to