Auth_Container_MDB2
MDB2 Container
This container makes use of PEAR::MDB2 abstraction layer for database access. That means that you can use all databases that are supported by the MDB2 abstraction layer to store the login data.
The storage-specific argument for the Auth constructor() is an array of options.
Option | Data Type | Default value | Description |
---|---|---|---|
"dsn" | string | " | A valid and well-formed DSN . |
"table" | string | "auth" | The name of the database table, where the authorization data is stored. |
"usernamecol" | string | "username" | The name of the column, where the username is stored |
"passwordcol" | string | "password" | The name of the column, where the crypted password is stored. |
"db_fields" | array | array() | An array of extra fields to retrieve when loading the user details. |
"cryptType" | string | "md5" | The encryption type the password is stored in. |
"auto_quote" | boolean | TRUE | Whether to enable automatic quoting of database table and field names. |
"db_options" | array | array() | An array of options to be passed to the PEAR::MDB2 constructor. See PEAR::MDB2 for more information. |
"db_where" | string | " | A string to be appended to the WHERE clause of queries against the database. It is appended to the queries used in fetchData(), listUsers(), removeUser() and changePassword(). Available since Auth 1.5.0. |
Note
By default, MDB2's default portability setting of MDB2_PORTABILITY_ALL is used. This setting may cause unexpected behaviour, such as field names being converted to lowercase regardless of their definition in the database schema. The "db_options" option can be used to override this, as shown in the following example.
Example overriding MDB2's default portability
<?php
$options = array('dsn' => 'mysql://user:password@localhost/database',
'usernamecol' => 'UserName',
'passwordcol' => 'PassWord',
'db_options' => array('portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_FIX_CASE)
);
$auth = new Auth('MDB2', $options, 'loginFunction');
?>