Auth_Container_MDB2 -- Authenticate against a database using 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.
Tabla 30-1. Available 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 colunm, where the username is stored
|
| "passwordcol" |
string
|
"password"
|
The name of the colunm, 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 appened 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.
|
Nota
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.
Ejemplo 30-1. 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');
?>
|
|