Moved LDAP authentication into a plugin

Used the current plugin system to define `USER_OC_LDAP` class
that can be used as backend for OC_USER
This commit is contained in:
Aldo "xoen" Giambelluca 2010-07-23 00:48:45 +02:00
parent ccd362108e
commit 11664f3153
4 changed files with 33 additions and 51 deletions

View file

@ -1,29 +0,0 @@
<?php
/**
* ownCloud
*
* @author Frank Karlitschek
* @copyright 2010 Frank Karlitschek karlitschek@kde.org
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
oc_require_once('inc/User/mod_auth.php');
class OC_USER_LDAP extends OC_USER_MOD_AUTH {
}

View file

@ -110,21 +110,6 @@ if(OC_USER::isLoggedIn()){
OC_FILESYSTEM::mount($rootStorage,'/');
}
// load plugins
$CONFIG_LOADPLUGINS='all';
if ($CONFIG_LOADPLUGINS != 'all')
$plugins=explode(' ',$CONFIG_LOADPLUGINS);
else{
$plugins=array();
$fd=opendir($SERVERROOT.'/plugins');
while (($filename = readdir($fd)) !== false) {
if($filename<>'.' and $filename<>'..' and substr($filename,0,1)!='.'){
$plugins[]=$filename;
}
}
closedir($fd);
}
if(isset($plugins[0])) foreach($plugins as $plugin) require_once($SERVERROOT.'/plugins/'.$plugin.'/lib_'.$plugin.'.php');
// check if the server is correctly configured for ownCloud
@ -305,6 +290,33 @@ class OC_UTIL {
}
}
/**
* Load the plugins
*/
public static function loadPlugins() {
global $CONFIG_LOADPLUGINS;
global $SERVERROOT;
$CONFIG_LOADPLUGINS = 'all';
if ( 'all' !== $CONFIG_LOADPLUGINS ) {
$plugins = explode(' ', $CONFIG_LOADPLUGINS);
} else {
$plugins = array();
$fd = opendir($SERVERROOT . '/plugins');
while ( false !== ($filename = readdir($fd)) ) {
if ( $filename<>'.' AND $filename<>'..' AND ('.' != substr($filename, 0, 1)) ) {
$plugins[] = $filename;
}
}
closedir($fd);
}
if ( isset($plugins[0]) ) {
foreach ( $plugins as $plugin ) {
oc_require_once('/plugins/' . $plugin . '/lib_' . $plugin . '.php');
}
}
}
}

View file

@ -23,6 +23,8 @@
global $CONFIG_BACKEND;
OC_UTIL::loadPlugins();
if ( !$CONFIG_INSTALLED ) {
@ -63,18 +65,15 @@ class OC_USER {
}
switch ( $backend ) {
case 'database':
case 'mysql':
case 'sqlite':
oc_require_once('inc/User/database.php');
self::$_backend = new OC_USER_DATABASE();
break;
case 'ldap':
oc_require_once('inc/User/ldap.php');
self::$_backend = new OC_USER_LDAP();
break;
default:
oc_require_once('inc/User/database.php');
self::$_backend = new OC_USER_DATABASE();
$className = 'OC_USER_' . strToUpper($backend);
self::$_backend = new $className();
break;
}
}

View file

@ -29,7 +29,7 @@ oc_require_once('inc/User/backend.php');
* Class for user management
*
*/
class OC_USER_MOD_AUTH extends OC_USER_BACKEND {
class OC_USER_LDAP extends OC_USER_BACKEND {
/**
* Check if the login button is pressed and log the user in