32 include_once(
'Services/Authentication/classes/class.ilAuthUtils.php');
63 include_once
"./Services/Administration/classes/class.ilSetting.php";
78 if (self::$instance) {
79 return self::$instance;
94 return $this->kind == self::TYPE_MANUAL;
117 $this->kind = $a_kind;
128 if (!strlen($a_username)) {
129 return $this->position ? $this->position : array();
133 foreach ($this->position as $auth_key) {
134 include_once
'./Services/LDAP/classes/class.ilLDAPServer.php';
139 if (strlen(
$server->getUsernameFilter())) {
141 $pattern = str_replace(
'*',
'.*?',
$server->getUsernameFilter());
143 if (preg_match(
'/^' . $pattern .
'$/', $a_username)) {
145 array_unshift($sorted, $auth_key);
151 $sorted[] = $auth_key;
154 return (array) $sorted;
165 return count($this->position);
177 $this->position = $a_pos;
194 foreach ($this->position as $auth_mode) {
195 $this->
settings->set((
string) $counter++, $auth_mode);
213 $this->kind = $this->
settings->get(
'kind', self::TYPE_MANUAL);
216 include_once(
'Services/LDAP/classes/class.ilLDAPServer.php');
219 include_once(
'Services/Radius/classes/class.ilRadiusSettings.php');
221 $rad_active = $rad_settings->isActive();
223 $soap_active =
$ilSetting->get(
'soap_auth_active',
false);
226 $apache_settings =
new ilSetting(
'apache_auth');
227 $apache_active = $apache_settings->get(
'apache_enable_auth');
233 $auth_mode = $this->
settings->get((
string)
$i++,
false);
234 if ($auth_mode ===
false) {
239 switch ((
int) $auth_mode) {
241 $this->position[] = $auth_mode;
249 $this->position[] = $auth_mode;
255 $this->position[] = $auth_mode;
261 $this->position[] = $auth_mode;
266 if ($apache_active) {
267 $this->position[] = $auth_mode;
274 if ($pl->isAuthActive($auth_mode)) {
275 $this->position[] = $auth_mode;
294 if (!in_array(
AUTH_LDAP .
'_' . $sid, $this->position)) {
295 $this->position[] = (
AUTH_LDAP .
'_' . $sid);
306 if (!in_array(
AUTH_SOAP, $this->position)) {
310 if ($apache_active) {
317 foreach ($pl->getAuthIds() as $auth_id) {
318 if ($pl->isAuthActive($auth_id)) {
319 if (!in_array($auth_id, $this->position)) {
320 $this->position[] = $auth_id;
setAuthModeSequence($a_pos)
set auth mode sequence
static _getActiveServerList()
Get active server list.
static getInstanceByServerId($a_server_id)
Get instance by server id.
isManualSelection()
is manual selection
static getAuthPlugins()
Get active enabled auth plugins.
static _getInstance()
singleton get instance
static getServerIdByAuthMode($a_auth_mode)
Get auth id by auth mode.
setKind($a_kind)
set kind of determination
__construct()
Constructor (Singleton)
static _getInstance()
Get instance.
getAuthModeSequence($a_username='')
get auth mode sequence
getCountActiveAuthModes()
get number of auth modes
static getLogger($a_component_id)
Get component logger.