The constructor will ensure that the PHP session management is started by
calling session_start(). This is done as Auth requires
a session to be active to operate correctly.
Parameter
string
$storageDriver
Name of the storage driver that should be used,
alternatively you can pass a custom Auth_Container object.
mixed
$options
Array containing the options for both Auth itself and the storage
driver. See
Auth Options
for global options and each storage driver's documentation
for specific options.
string
$loginFunction
The name of a user-defined function that
prints the login screen. This function is passed three parameters
when called $username, $status, &$auth.
These are in order the
previously attempted username, the status code that caused the
previous auth attempt to fail and a reference to the Auth object
itself.
<?php
require_once "Auth/Auth.php";
function myOutput($username, $status, $auth)
{
... /* See first example in introduction for the full listing */
}
$params = array(
"dsn" => "mysql://martin:test@localhost/auth",
"table" => "myAuth",
"usernamecol" => "myUserColumn",
"passwordcol" => "myPasswordColumn"
);
$a = new Auth("DB", $params, "myOutput");
$a->start();
if ($a->getAuth()) {
echo "You have been authenticated successfully.";
}
?>
This example shows you how you can specifiy alternative
names for the database table and the column names. In our
example, we use the table myAuth, select the username from
the field myUserColumn and the password from the field
myPasswordColumn. The default values for this fields are
auth, username and password. Note that you can also specify
an existing DB object with the dsn parameter instead of a DSN.
This feature is necessary if you want to use PEAR::Auth
with a database layout that is different from the one
PEAR::Auth uses by default.
<?php
require_once "Auth/Auth.php";
function myOutput($username, $status)
{
... /* See first example in introduction for the full listing */
}
$a = new Auth(new CustomAuthContainer($options), null, "myOutput");
$a->start();
if ($a->getAuth()) {
echo "You have been authenticated successfully.";
}
?>
This example shows you how you can pass your
own storage container to Auth.
If the storage containers supplied with Auth are not capable
of fulfilling your requirements, you can easliy create your own
storage container.
Read the storage containers section for more info
Introduction - The storage drivers