The Auth_cyrus class provides horde with the ability of administrating a Cyrus mail server authentications against another backend that Horde can update (eg SQL or LDAP).
Required parameters:
'cyradmin' The username of the cyrus administrator 'cyrpass' The password for the cyrus administrator 'imap_dsn' The full IMAP DSN (i.e. 'backend' The complete hash for the Auth_* driver that cyrus authenticates against (eg SQL, LDAP). 'separator' Hierarchy separator to use (e.g., is it user/mailbox or user.mailbox)
Optional values:
'unixhier' The value of imapd.conf's unixhierarchysep setting. Set this to 'true' if the value is true in imapd.conf 'folders' An array of folders to create under username. Doesn't create subfolders by default. 'quota' The quota (in kilobytes) to grant on the mailbox. Does not establish quota by default.
Example Usage:
$conf['auth']['driver'] = 'composite'; $conf['auth']['params']['loginscreen_switch'] = '_horde_select_loginscreen'; $conf['auth']['params']['admin_driver'] = 'cyrus'; $conf['auth']['params']['drivers']['imp'] = array('driver' => 'application', 'params' => array('app' => 'imp')); $conf['auth']['params']['drivers']['cyrus'] = array('driver' => 'cyrus', 'params' => array('cyradmin' => 'cyrus', 'cyrpass' => 'password', 'separator' => '.', 'imap_dsn' => '{maik.example.com/imap}')); $conf['auth']['params']['drivers']['cyrus']['params']['backend'] = array('driver' => 'sql', 'params' => array('phptype' => 'mysql', 'hostspec' => 'database.example.com', 'protocol' => 'tcp', 'username' => 'username', 'password' => 'password', 'database' => 'mail', 'table' => 'accountuser', 'encryption' => 'md5-hex', 'username_field' => 'username', 'password_field' => 'password')); if (!function_exists('_horde_select_loginscreen')) { function _horde_select_loginscreen() { return 'imp'; } }
$Horde: framework/Auth/Auth/cyrus.php,v 1.15.10.19 2009/01/06 15:22:49 jan Exp $
Copyright 2002-2009 The Horde Project (http://www.horde.org/)
See the enclosed file COPYING for license information (LGPL). If you did not receive this file, see http://opensource.org/licenses/lgpl-license.php.
Located in /Auth/Auth/cyrus.php (line 67)
Auth | --Auth_cyrus
An array of capabilities, so that the driver can report which operations it supports and which it doesn't.
Pointer to another Auth_ backend that Cyrus authenticates against.
Flag indicating if the IMAP connection is connected.
Handle for the current IMAP connection.
Inherited from Auth
Auth::$_authCredentials
Auth::$_params
Constructor.
Add a set of authentication credentials.
Checks if a userId exists in the system.
List all users in the system.
Delete a set of authentication credentials.
Automatic authentication: Find out if the client matches an allowed IP block.
Update a set of authentication credentials.
Inherited From Auth
Auth::addHook()
Auth::addLogoutParameters()
Auth::addUser()
Auth::authenticate()
Auth::clearAuth()
Auth::exists()
Auth::factory()
Auth::genRandomPassword()
Auth::getAuth()
Auth::getAuthDomain()
Auth::getBareAuth()
Auth::getCredential()
Auth::getCryptedPassword()
Auth::getDriver()
Auth::getLoginScreen()
Auth::getLogoutReason()
Auth::getLogoutReasonString()
Auth::getParam()
Auth::getProvider()
Auth::getSalt()
Auth::hasCapability()
Auth::isAdmin()
Auth::isAuthenticated()
Auth::isPasswordChangeRequested()
Auth::listUsers()
Auth::readSessionData()
Auth::removeHook()
Auth::removeUser()
Auth::removeUserData()
Auth::setAuth()
Auth::setCredential()
Auth::singleton()
Auth::transparent()
Auth::updateUser()
Auth::_authenticate()
Auth::_isAdmin()
Documentation generated on Sun, 30 Jan 2011 05:16:20 +0000 by phpDocumentor 1.4.3