[root@aral webdav]# diff -u ezwebdavcontentbackendauth.php.old ezwebdavcontentbackendauth.php --- ezwebdavcontentbackendauth.php.old 2010-09-28 11:03:48.000000000 +0200 +++ ezwebdavcontentbackendauth.php 2010-12-08 12:47:37.000000000 +0100 @@ -60,7 +60,15 @@ */ public function authenticateBasic( ezcWebdavBasicAuth $data ) { - $loginHandler = 'standard'; + $ini = eZINI::instance(); + if ( $ini->hasVariable( 'UserSettings', 'LoginHandler' ) ) + { + $loginHandlers = $ini->variable( 'UserSettings', 'LoginHandler' ); + } + else + { + $loginHandlers = array('standard'); + } eZWebDAVContentBackend::appendLogEntry( "Got username: {$data->username}" ); // added by @ds to fix problems with IE6 SP2 @@ -70,15 +78,18 @@ } eZWebDAVContentBackend::appendLogEntry( "Processed to username: {$data->username}" ); - $userClass = eZUserLoginHandler::instance( $loginHandler ); - $user = $userClass->loginUser( $data->username, $data->password ); - - if ( !( $user instanceof eZUser ) ) + foreach ($loginHandlers as $loginHandler) { - return false; - } - eZWebDAVContentBackend::appendLogEntry( "AuthenticatedBasic" ); - return true; + $userClass = eZUserLoginHandler::instance( $loginHandler ); + $user = $userClass->loginUser( $data->username, $data->password ); + + if ( $user instanceof eZUser ) + { + eZWebDAVContentBackend::appendLogEntry( 'AuthenticatedBasic (login handler: ' . $loginHandler . ')' ); + return true; + } + } + return false; } /**