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:
parent
ccd362108e
commit
11664f3153
4 changed files with 33 additions and 51 deletions
|
@ -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 {
|
||||
}
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
Loading…
Reference in a new issue