add auto load config from config file
This commit is contained in:
parent
3a8e66c438
commit
65d4033e7b
@ -34,6 +34,7 @@ use core_kernel_users_InvalidLoginException;
|
||||
use oat\authKeyValue\model\AuthKeyValueUser;
|
||||
use oat\oatbox\user\auth\LoginAdapter;
|
||||
use Zend\Authentication\Adapter\Ldap;
|
||||
use common_persistence_Manager;
|
||||
|
||||
/**
|
||||
* Adapter to authenticate users stored in the Ldap implementation
|
||||
@ -45,7 +46,7 @@ class LdapAdapter implements LoginAdapter
|
||||
{
|
||||
|
||||
/** Key used to retrieve the persistence information */
|
||||
CONST KEY_VALUE_PERSISTENCE_ID = 'authLdap';
|
||||
CONST LDAP_PERSISTENCE_ID = 'authLdap';
|
||||
|
||||
/** @var $username string */
|
||||
private $username;
|
||||
@ -56,11 +57,20 @@ class LdapAdapter implements LoginAdapter
|
||||
/** @var $configuration array $configuration */
|
||||
protected $configuration;
|
||||
|
||||
/**
|
||||
* @var \Zend\Authentication\Adapter\Ldap
|
||||
*/
|
||||
protected $adapter;
|
||||
|
||||
/**
|
||||
* @param array $configuration
|
||||
*/
|
||||
public function __construct(array $configuration) {
|
||||
$this->configuration = $configuration;
|
||||
|
||||
$this->adapter = new Ldap();
|
||||
$this->adapter->setOptions($configuration['config']);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -75,17 +85,9 @@ class LdapAdapter implements LoginAdapter
|
||||
}
|
||||
|
||||
public function authenticate() {
|
||||
$adapter = new Ldap();
|
||||
$adapter->setOptions(
|
||||
array(array(
|
||||
'host' => '127.0.0.1',
|
||||
'accountDomainName' => 'test.com',
|
||||
'username' => 'cn=admin,dc=test,dc=com',
|
||||
'password' => 'admin',
|
||||
'baseDn' => 'OU=organisation,dc=test,dc=com',
|
||||
'bindRequiresDn' => 'true',
|
||||
))
|
||||
);
|
||||
|
||||
|
||||
$adapter = $this->getAdapter();
|
||||
|
||||
$adapter->setUsername($this->getUsername());
|
||||
$adapter->setPassword($this->getPassword());
|
||||
@ -110,6 +112,23 @@ class LdapAdapter implements LoginAdapter
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Zend\Authentication\Adapter\Ldap $adapter
|
||||
*/
|
||||
public function setAdapter($adapter)
|
||||
{
|
||||
$this->adapter = $adapter;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \Zend\Authentication\Adapter\Ldap
|
||||
*/
|
||||
public function getAdapter()
|
||||
{
|
||||
return $this->adapter;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param array $configuration
|
||||
*/
|
||||
|
@ -1,98 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; under version 2
|
||||
* of the License (non-upgradable).
|
||||
*
|
||||
* This program 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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*
|
||||
* Copyright (c) 2014 (original work) Open Assessment Technologies SA;
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Authentication service to access db
|
||||
*
|
||||
* @author christophe massin
|
||||
* @package authLdap
|
||||
|
||||
*/
|
||||
|
||||
namespace oat\authLdap\model;
|
||||
use common_persistence_AdvKeyValuePersistence;
|
||||
|
||||
|
||||
class AuthLdapUserService {
|
||||
|
||||
|
||||
const PREFIXES_KEY = 'auth';
|
||||
|
||||
const USER_PARAMETERS = 'parameters';
|
||||
|
||||
/**
|
||||
* @var \common_persistence_Driver
|
||||
*/
|
||||
protected $driver;
|
||||
|
||||
|
||||
public function __construct(){
|
||||
$kvStore = common_persistence_AdvKeyValuePersistence::getPersistence(AuthKeyValueAdapter::KEY_VALUE_PERSISTENCE_ID);
|
||||
$this->driver = $kvStore->getDriver();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $login
|
||||
* @return mixed
|
||||
*/
|
||||
public function getUserData($login){
|
||||
return $this->driver->hGetAll(AuthKeyValueUserService::PREFIXES_KEY.':'.$login);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $userLogin string
|
||||
* @param $parameter string
|
||||
* @return mixed
|
||||
*/
|
||||
public function getUserParameter($userLogin, $parameter){
|
||||
return $this->driver->get(AuthKeyValueUserService::PREFIXES_KEY.':'.$userLogin.':'.$parameter);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $userLogin string user login
|
||||
* @param $parameter string parameter
|
||||
* @param $value mixed
|
||||
*/
|
||||
public function addUserParameter($userLogin, $parameter, $value){
|
||||
$this->driver->set(AuthKeyValueUserService::PREFIXES_KEY.':'.$userLogin.':'.$parameter, $value);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $userLogin string
|
||||
* @param $parameter string
|
||||
*/
|
||||
public function deleteUserParameter($userLogin, $parameter){
|
||||
$this->driver->del(AuthKeyValueUserService::PREFIXES_KEY.':'.$userLogin.':'.$parameter);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param $userLogin
|
||||
* @param $parameter
|
||||
* @param $value
|
||||
*/
|
||||
public function editUserParameter($userLogin, $parameter, $value){
|
||||
$this->driver->set(AuthKeyValueUserService::PREFIXES_KEY.':'.$userLogin.':'.$parameter, $value);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user