17 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
28 $this->
ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
30 $this->lng->loadLanguageModule(
'registration');
32 define(
'LDAP_DEFAULT_PORT',389);
33 define(
'RADIUS_DEFAULT_PORT',1812);
54 if (!$rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
56 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
59 $this->tabs_gui->setTabActive(
'authentication_settings');
61 $this->tabs_gui->setSubTabActive(
"auth_settings");
63 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.auth_general.html",
64 "Services/Authentication");
66 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
67 $this->tpl->setVariable(
"TXT_AUTH_TITLE", $this->lng->txt(
"auth_select"));
69 $this->tpl->setVariable(
"TXT_AUTH_MODE", $this->lng->txt(
"auth_mode"));
70 $this->tpl->setVariable(
"TXT_AUTH_DEFAULT", $this->lng->txt(
"default"));
71 $this->tpl->setVariable(
"TXT_AUTH_ACTIVE", $this->lng->txt(
"active"));
72 $this->tpl->setVariable(
"TXT_AUTH_NUM_USERS", $this->lng->txt(
"num_users"));
74 $this->tpl->setVariable(
"TXT_LOCAL", $this->lng->txt(
"auth_local"));
75 $this->tpl->setVariable(
"TXT_LDAP", $this->lng->txt(
"auth_ldap"));
76 $this->tpl->setVariable(
"TXT_SHIB", $this->lng->txt(
"auth_shib"));
78 $this->tpl->setVariable(
"TXT_CAS", $this->lng->txt(
"auth_cas"));
80 $this->tpl->setVariable(
"TXT_RADIUS", $this->lng->txt(
"auth_radius"));
81 $this->tpl->setVariable(
"TXT_SCRIPT", $this->lng->txt(
"auth_script"));
83 $this->tpl->setVariable(
"TXT_APACHE", $this->lng->txt(
"auth_apache"));
88 include_once(
'Services/LDAP/classes/class.ilLDAPServer.php');
90 $icon_ok =
"<img src=\"".ilUtil::getImagePath(
"icon_ok.svg").
"\" alt=\"".$this->lng->txt(
"enabled").
"\" title=\"".$this->lng->txt(
"enabled").
"\" border=\"0\" vspace=\"0\"/>";
91 $icon_not_ok =
"<img src=\"".ilUtil::getImagePath(
"icon_not_ok.svg").
"\" alt=\"".$this->lng->txt(
"disabled").
"\" title=\"".$this->lng->txt(
"disabled").
"\" border=\"0\" vspace=\"0\"/>";
94 foreach($auth_modes as $mode => $mode_name)
101 $this->tpl->setCurrentBlock(
'auth_mode');
106 $this->tpl->setVariable(
"AUTH_NAME",
$server->getName());
107 $this->tpl->setVariable(
'AUTH_ACTIVE',
$server->isActive() ? $icon_ok : $icon_not_ok);
111 $this->tpl->setVariable(
"AUTH_NAME", $this->lng->txt(
"auth_" . $mode_name));
112 $this->tpl->setVariable(
'AUTH_ACTIVE',$this->
ilias->getSetting($mode_name .
'_active') || $mode ==
AUTH_LOCAL ? $icon_ok : $icon_not_ok);
115 if ($ilSetting->get(
'auth_mode') == $mode)
117 $this->tpl->setVariable(
"AUTH_CHECKED",
"checked=\"checked\"");
119 $this->tpl->setVariable(
"AUTH_USER_NUM",
120 ((
int) $auth_cnt[$mode_name] + $auth_cnt[
"default"]).
" (".$this->lng->txt(
"auth_per_default").
121 ": ".$auth_cnt[
"default"].
")");
125 $this->tpl->setVariable(
"AUTH_USER_NUM",
126 (
int) $auth_cnt[$mode_name]);
128 $this->tpl->setVariable(
"AUTH_ID",$mode_name);
129 $this->tpl->setVariable(
"AUTH_VAL",$mode);
130 $this->tpl->parseCurrentBlock();
133 $this->tpl->setVariable(
"TXT_CONFIGURE", $this->lng->txt(
"auth_configure"));
134 $this->tpl->setVariable(
"TXT_AUTH_REMARK", $this->lng->txt(
"auth_remark_non_local_auth"));
135 $this->tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
136 $this->tpl->setVariable(
"CMD_SUBMIT",
"setAuthMode");
141 $this->tpl->setVariable(
'TABLE_AUTH_DETERMINATION',$this->form->getHTML());
145 $this->tpl->setVariable(
"FORMACTION_ROLES",
146 $this->ctrl->getFormAction($this));
147 $this->tpl->setVariable(
"TXT_AUTH_ROLES", $this->lng->txt(
"auth_active_roles"));
148 $this->tpl->setVariable(
"TXT_ROLE", $this->lng->txt(
"obj_role"));
149 $this->tpl->setVariable(
"TXT_ROLE_AUTH_MODE", $this->lng->txt(
"auth_role_auth_mode"));
150 $this->tpl->setVariable(
"CMD_SUBMIT_ROLES",
"updateAuthRoles");
152 include_once(
"./Services/AccessControl/classes/class.ilObjRole.php");
156 include_once(
'./Services/Authentication/classes/class.ilAuthUtils.php');
159 foreach ($reg_roles as $role)
161 foreach ($active_auth_modes as $auth_name => $auth_key)
166 if ($auth_name ==
"default" || $auth_name ==
"cas" 167 || $auth_name ==
"shibboleth" || $auth_name ==
'ldap' 168 || $auth_name ==
'apache' || $auth_name ==
"ecs" 169 || $auth_name ==
"openid")
174 $this->tpl->setCurrentBlock(
"auth_mode_selection");
176 if ($auth_name ==
'default')
187 $name = $this->lng->txt(
'auth_'.$auth_name);
190 $this->tpl->setVariable(
"AUTH_MODE_NAME", $name);
192 $this->tpl->setVariable(
"AUTH_MODE", $auth_name);
194 if ($role[
'auth_mode'] == $auth_name)
196 $this->tpl->setVariable(
"SELECTED_AUTH_MODE",
"selected=\"selected\"");
199 $this->tpl->parseCurrentBlock();
202 $this->tpl->setCurrentBlock(
"roles");
203 $this->tpl->setVariable(
"ROLE", $role[
'title']);
204 $this->tpl->setVariable(
"ROLE_ID", $role[
'id']);
205 $this->tpl->parseCurrentBlock();
220 if (!$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId()))
222 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"), $this->
ilias->error_obj->MESSAGE);
225 $this->tabs_gui->setTabActive(
"authentication_settings");
227 $this->tabs_gui->setSubTabActive(
"auth_login_editor");
229 $lng->loadLanguageModule(
"meta");
231 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.auth_login_messages.html",
232 "Services/Authentication");
233 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
234 $this->tpl->setVariable(
"TXT_HEADLINE", $this->lng->txt(
"login_information"));
235 $this->tpl->setVariable(
"TXT_DESCRIPTION", $this->lng->txt(
"login_information_desc"));
236 $this->tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
237 $this->initLoginForm();
238 $this->tpl->setVariable(
'LOGIN_INFO',$this->form->getHTML());
244 $this->ctrl->redirect($this,
"authSettings");
251 if (!$rbacsystem->checkAccess(
"write",$this->object->getRefId()))
253 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
256 if (empty(
$_POST[
"auth_mode"]))
258 $this->
ilias->raiseError($this->lng->txt(
"auth_err_no_mode_selected"),$this->
ilias->error_obj->MESSAGE);
261 if (
$_POST[
"auth_mode"] == AUTH_DEFAULT)
264 $this->ctrl->redirect($this,
'authSettings');
267 switch (
$_POST[
"auth_mode"])
281 if ($this->object->checkAuthSHIB() !==
true)
289 if ($this->object->checkAuthRADIUS() !==
true)
292 $this->ctrl->redirect($this,
'editRADIUS');
297 if ($this->object->checkAuthScript() !==
true)
305 $this->
ilias->setSetting(
"auth_mode",
$_POST[
"auth_mode"]);
308 $this->ctrl->redirect($this,
'authSettings');
320 if (!$rbacsystem->checkAccess(
"read",$this->object->getRefId()))
322 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
325 $this->tabs_gui->setTabActive(
'auth_soap');
328 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.auth_soap.html',
'Services/Authentication');
331 $role_list = $rbacreview->getRolesByFilter(2,$this->object->getId());
334 foreach ($role_list as $role)
336 $roles[$role[
'obj_id']] = $role[
'title'];
340 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
343 $soap_config->setTitle($this->lng->txt(
"auth_soap_auth"));
344 $soap_config->setDescription($this->lng->txt(
"auth_soap_auth_desc"));
345 $soap_config->setFormAction($this->ctrl->getFormAction($this,
"editSOAP"));
346 $soap_config->addCommandButton(
"saveSOAP", $this->lng->txt(
"save"));
347 $soap_config->addCommandButton(
"editSOAP", $this->lng->txt(
"cancel"));
351 $active->setTitle($this->lng->txt(
"active"));
352 $active->setPostVar(
"soap[active]");
356 $server->setTitle($this->lng->txt(
"server"));
357 $server->setInfo($this->lng->txt(
"auth_soap_server_desc"));
358 $server->setPostVar(
"soap[server]");
365 $port->setTitle($this->lng->txt(
"port"));
366 $port->setInfo($this->lng->txt(
"auth_soap_port_desc"));
367 $port->setPostVar(
"soap[port]");
369 $port->setMaxLength(5);
373 $https->setTitle($this->lng->txt(
"auth_soap_use_https"));
374 $https->setPostVar(
"soap[use_https]");
378 $uri->setTitle($this->lng->txt(
"uri"));
379 $uri->setInfo($this->lng->txt(
"auth_soap_uri_desc"));
380 $uri->setPostVar(
"soap[uri]");
382 $uri->setMaxLength(256);
386 $namespace->setTitle($this->lng->txt(
"auth_soap_namespace"));
387 $namespace->setInfo($this->lng->txt(
"auth_soap_namespace_desc"));
394 $dotnet->setTitle($this->lng->txt(
"auth_soap_use_dotnet"));
395 $dotnet->setPostVar(
"soap[use_dotnet]");
399 $createuser->setTitle($this->lng->txt(
"auth_create_users"));
400 $createuser->setInfo($this->lng->txt(
"auth_soap_create_users_desc"));
401 $createuser->setPostVar(
"soap[create_users]");
405 $sendmail->setTitle($this->lng->txt(
"user_send_new_account_mail"));
406 $sendmail->setInfo($this->lng->txt(
"auth_new_account_mail_desc"));
407 $sendmail->setPostVar(
"soap[account_mail]");
411 $defaultrole->setTitle($this->lng->txt(
"auth_user_default_role"));
412 $defaultrole->setInfo($this->lng->txt(
"auth_soap_user_default_role_desc"));
413 $defaultrole->setPostVar(
"soap[user_default_role]");
414 $defaultrole->setOptions($roles);
418 $allowlocal->setTitle($this->lng->txt(
"auth_allow_local"));
419 $allowlocal->setInfo($this->lng->txt(
"auth_soap_allow_local_desc"));
420 $allowlocal->setPostVar(
"soap[allow_local]");
423 $settings = $ilSetting->getAll();
428 $active ->setChecked(
$_SESSION[
"error_post_vars"][
"soap"][
"active"]);
430 $port ->setValue(
$_SESSION[
"error_post_vars"][
"soap"][
"port"]);
431 $https ->setChecked(
$_SESSION[
"error_post_vars"][
"soap"][
"use_https"]);
432 $uri ->setValue(
$_SESSION[
"error_post_vars"][
"soap"][
"uri"]);
434 $dotnet ->setChecked(
$_SESSION[
"error_post_vars"][
"soap"][
"use_dotnet"]);
435 $createuser ->setChecked(
$_SESSION[
"error_post_vars"][
"soap"][
"create_users"]);
436 $allowlocal ->setChecked(
$_SESSION[
"error_post_vars"][
"soap"][
"allow_local"]);
437 $defaultrole->setValue(
$_SESSION[
"error_post_vars"][
"soap"][
"user_default_role"]);
438 $sendmail ->setChecked(
$_SESSION[
"error_post_vars"][
"soap"][
"account_mail"]);
442 $active ->setChecked($settings[
"soap_auth_active"]);
443 $server ->setValue($settings[
"soap_auth_server"]);
444 $port ->setValue($settings[
"soap_auth_port"]);
445 $https ->setChecked($settings[
"soap_auth_use_https"]);
446 $uri ->setValue($settings[
"soap_auth_uri"]);
447 $namespace ->setValue($settings[
"soap_auth_namespace"]);
448 $dotnet ->setChecked($settings[
"soap_auth_use_dotnet"]);
449 $createuser ->setChecked($settings[
"soap_auth_create_users"]);
450 $allowlocal ->setChecked($settings[
"soap_auth_allow_local"]);
451 $defaultrole->setValue($settings[
"soap_auth_user_default_role"]);
452 $sendmail ->setChecked($settings[
"soap_auth_account_mail"]);
455 if (!$defaultrole->getValue())
457 $defaultrole->setValue(4);
461 $soap_config->addItem($active);
462 $soap_config->addItem(
$server);
463 $soap_config->addItem($port);
464 $soap_config->addItem(
$https);
465 $soap_config->addItem($uri);
467 $soap_config->addItem($dotnet);
468 $soap_config->addItem($createuser);
469 $soap_config->addItem($sendmail);
470 $soap_config->addItem($defaultrole);
471 $soap_config->addItem($allowlocal);
473 $this->tpl->setVariable(
"CONFIG_FORM", $soap_config->getHTML());
477 $form->setFormAction($ilCtrl->getFormAction($this));
478 $form->setTitle(
"Test Request");
480 $form->addItem($text_prop);
482 $form->addItem($text_prop2);
486 $form->addCommandButton(
"testSoapAuthConnection",
489 if ($ilCtrl->getCmd() ==
"testSoapAuthConnection")
491 include_once(
"./Services/SOAPAuth/classes/class.ilSOAPAuth.php");
492 $ret =
"<br />".ilSOAPAuth::testConnection(
495 (
boolean)
$_POST[
"new_user"]
498 $this->tpl->setVariable(
"TEST_FORM", $form->getHTML().$ret);
515 if (!$rbacsystem->checkAccess(
"write",$this->object->getRefId()))
517 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
521 if (!
$_POST[
"soap"][
"server"])
523 $this->
ilias->raiseError($this->lng->txt(
"fill_out_all_required_fields"),$this->
ilias->error_obj->MESSAGE);
527 if (
$_POST[
"soap"][
"server"] !=
"" && (preg_match(
"/^[0-9]{0,5}$/",
$_POST[
"soap"][
"port"])) ==
false)
529 $this->
ilias->raiseError($this->lng->txt(
"err_invalid_port"),$this->
ilias->error_obj->MESSAGE);
532 $ilSetting->set(
"soap_auth_server",
$_POST[
"soap"][
"server"]);
533 $ilSetting->set(
"soap_auth_port",
$_POST[
"soap"][
"port"]);
534 $ilSetting->set(
"soap_auth_active",
$_POST[
"soap"][
"active"]);
535 $ilSetting->set(
"soap_auth_uri",
$_POST[
"soap"][
"uri"]);
536 $ilSetting->set(
"soap_auth_namespace",
$_POST[
"soap"][
"namespace"]);
537 $ilSetting->set(
"soap_auth_create_users",
$_POST[
"soap"][
"create_users"]);
538 $ilSetting->set(
"soap_auth_allow_local",
$_POST[
"soap"][
"allow_local"]);
539 $ilSetting->set(
"soap_auth_account_mail",
$_POST[
"soap"][
"account_mail"]);
540 $ilSetting->set(
"soap_auth_use_https",
$_POST[
"soap"][
"use_https"]);
541 $ilSetting->set(
"soap_auth_use_dotnet",
$_POST[
"soap"][
"use_dotnet"]);
542 $ilSetting->set(
"soap_auth_user_default_role",
$_POST[
"soap"][
"user_default_role"]);
545 $this->ctrl->redirect($this,
'editSOAP');
557 if (!$rbacsystem->checkAccess(
"write",$this->object->getRefId()))
559 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
564 $this->tpl->setVariable(
"AUTH_SCRIPT_NAME",
$_SESSION[
"error_post_vars"][
"auth_script"][
"name"]);
569 $settings = $this->
ilias->getAllSettings();
571 $this->tpl->setVariable(
"AUTH_SCRIPT_NAME", $settings[
"auth_script_name"]);
574 $this->tabs_gui->setTabActive(
'auth_script');
576 $this->tpl->addBlockFile(
"ADM_CONTENT",
"adm_content",
"tpl.auth_script.html",
577 "Services/Authentication");
579 $this->tpl->setVariable(
"FORMACTION", $this->ctrl->getFormAction($this));
580 $this->tpl->setVariable(
"COLSPAN", 3);
581 $this->tpl->setVariable(
"TXT_AUTH_SCRIPT_TITLE", $this->lng->txt(
"auth_script_configure"));
582 $this->tpl->setVariable(
"TXT_OPTIONS", $this->lng->txt(
"options"));
583 $this->tpl->setVariable(
"TXT_AUTH_SCRIPT_NAME", $this->lng->txt(
"auth_script_name"));
585 $this->tpl->setVariable(
"TXT_REQUIRED_FLD", $this->lng->txt(
"required_field"));
586 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
"cancel"));
587 $this->tpl->setVariable(
"TXT_SUBMIT", $this->lng->txt(
"save"));
588 $this->tpl->setVariable(
"CMD_SUBMIT",
"saveScript");
599 if (!
$_POST[
"auth_script"][
"name"])
601 $this->
ilias->raiseError($this->lng->txt(
"fill_out_all_required_fields"),$this->
ilias->error_obj->MESSAGE);
614 $this->
ilias->setSetting(
"auth_script_name",
$_POST[
"auth_script"][
"name"]);
618 $this->ctrl->redirect($this,
'editScript');
630 switch ($this->
ilias->getSetting(
"auth_mode"))
633 return $this->lng->txt(
"auth_local");
637 return $this->lng->txt(
"auth_ldap");
641 return $this->lng->txt(
"auth_shib");
645 return $this->lng->txt(
"auth_radius");
649 return $this->lng->txt(
"auth_script");
653 return $this->lng->txt(
"auth_apache");
657 return $this->lng->txt(
"unknown");
666 if (!$rbacsystem->checkAccess(
"write",$this->object->getRefId()))
668 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
671 include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
675 $this->ctrl->redirect($this,
'authSettings');
685 if(is_object($this->form))
691 include_once(
'Services/Authentication/classes/class.ilAuthModeDetermination.php');
693 if($det->getCountActiveAuthModes() <= 1)
698 include_once(
'./Services/Form/classes/class.ilPropertyFormGUI.php');
700 $this->form->setFormAction($this->ctrl->getFormAction($this));
701 $this->form->setTableWidth(
'100%');
702 $this->form->setTitle($this->lng->txt(
'auth_auth_settings'));
703 $this->form->addCommandButton(
'updateAuthModeDetermination',$this->lng->txt(
'save'));
705 require_once
'Services/Captcha/classes/class.ilCaptchaUtil.php';
706 $cap =
new ilCheckboxInputGUI($this->lng->txt(
'adm_captcha_anonymous_short'),
'activate_captcha_anonym');
707 $cap->
setInfo($this->lng->txt(
'adm_captcha_anonymous_auth'));
711 $cap->setAlert(ilCaptchaUtil::getPreconditionsMessage());
713 $cap->setChecked(ilCaptchaUtil::isActiveForLogin());
714 $this->form->addItem($cap);
717 $header->setTitle($this->lng->txt(
'auth_auth_mode_determination'));
721 $kind->
setInfo($this->lng->txt(
'auth_mode_determination_info'));
722 $kind->setValue($det->getKind());
723 $kind->setRequired(
true);
725 $option_user =
new ilRadioOption($this->lng->txt(
'auth_by_user'),0);
726 $kind->addOption($option_user);
728 $option_determination =
new ilRadioOption($this->lng->txt(
'auth_automatic'),1);
730 include_once(
'Services/Authentication/classes/class.ilAuthUtils.php');
732 $auth_sequenced = $det->getAuthModeSequence();
734 foreach($auth_sequenced as $auth_mode)
746 $text = $this->lng->txt(
'auth_radius');
749 $text = $this->lng->txt(
'auth_local');
752 $text = $this->lng->txt(
'auth_soap');
755 $text = $this->lng->txt(
'auth_apache');
761 $option = $pl->getMultipleAuthModeOptions($auth_mode);
762 $text = $option[$auth_mode][
'txt'];
769 $pos->setValue($counter++);
771 $pos->setMaxLength(1);
772 $option_determination->addSubItem($pos);
774 $kind->addOption($option_determination);
775 $this->form->addItem($kind);
787 include_once(
'Services/Authentication/classes/class.ilAuthModeDetermination.php');
790 $det->setKind((
int)
$_POST[
'kind']);
792 $pos = $_POST[
'position'] ? $_POST[
'position'] : array();
793 asort($pos,SORT_NUMERIC);
796 foreach($pos as $auth_mode => $dummy)
798 $position[$counter++] = $auth_mode;
800 $det->setAuthModeSequence($position ? $position : array());
803 require_once
'Services/Captcha/classes/class.ilCaptchaUtil.php';
804 ilCaptchaUtil::setActiveForLogin((
bool)$_POST[
'activate_captcha_anonym']);
820 $next_class = $this->ctrl->getNextClass($this);
821 $cmd = $this->ctrl->getCmd();
825 if(!$ilAccess->checkAccess(
'read',
'',$this->object->getRefId()))
827 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),$ilErr->WARNING);
832 case 'ilregistrationsettingsgui':
834 include_once
'./Services/Registration/classes/class.ilRegistrationSettingsGUI.php';
837 $this->tabs_gui->setTabActive(
'registration_settings');
839 $this->ctrl->forwardCommand($registration_gui);
842 case 'ilpermissiongui':
845 $this->tabs_gui->setTabActive(
'perm_settings');
847 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
849 $ret =& $this->ctrl->forwardCommand($perm_gui);
852 case 'illdapsettingsgui':
855 $this->tabs_gui->setTabActive(
'auth_ldap');
857 include_once
'./Services/LDAP/classes/class.ilLDAPSettingsGUI.php';
859 $this->ctrl->forwardCommand($ldap_settings_gui);
862 case 'ilauthshibbolethsettingsgui':
864 $this->tabs_gui->setTabActive(
'auth_shib');
865 include_once(
'./Services/AuthShibboleth/classes/class.ilAuthShibbolethSettingsGUI.php');
867 $this->ctrl->forwardCommand($shib_settings_gui);
870 case 'ilcassettingsgui':
872 $this->tabs_gui->setTabActive(
'auth_cas');
873 include_once
'./Services/CAS/classes/class.ilCASSettingsGUI.php';
875 $this->ctrl->forwardCommand($cas_settings);
878 case 'ilradiussettingsgui':
880 $this->tabs_gui->setTabActive(
'auth_radius');
881 include_once
'./Services/Radius/classes/class.ilRadiusSettingsGUI.php';
883 $this->ctrl->forwardCommand($radius_settings_gui);
886 case 'ilopenidsettingsgui':
888 $this->tabs_gui->setTabActive(
'auth_openid');
890 include_once
'./Services/OpenId/classes/class.ilOpenIdSettingsGUI.php';
892 $this->ctrl->forwardCommand($os);
895 case 'ilauthloginpageeditorgui':
898 $this->tabs_gui->setTabActive(
'authentication_settings');
899 $this->tabs_gui->setSubTabActive(
"auth_login_editor");
901 include_once
'./Services/Authentication/classes/class.ilAuthLoginPageEditorGUI.php';
903 $this->ctrl->forwardCommand($lpe);
909 $cmd =
"authSettings";
933 $this->ctrl->setParameter($this,
"ref_id",$this->object->getRefId());
935 if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
937 $tabs_gui->addTarget(
"authentication_settings", $this->ctrl->getLinkTarget($this,
"authSettings"),
940 $tabs_gui->addTarget(
'registration_settings',
941 $this->ctrl->getLinkTargetByClass(
'ilregistrationsettingsgui',
'view'));
943 $tabs_gui->addTarget(
"auth_ldap", $this->ctrl->getLinkTargetByClass(
'illdapsettingsgui',
'serverList'),
947 #$tabs_gui->addTarget("auth_ldap", $this->ctrl->getLinkTarget($this, "editLDAP"), 950 $tabs_gui->addTarget(
'auth_shib',$this->ctrl->getLinkTargetByClass(
'ilauthshibbolethsettingsgui',
'settings'));
952 $tabs_gui->addTarget(
954 $this->ctrl->getLinkTargetByClass(
'ilcassettingsgui',
'settings')
957 $tabs_gui->addTarget(
"auth_radius", $this->ctrl->getLinkTargetByClass(
'ilradiussettingsgui',
"settings"),
960 $tabs_gui->addTarget(
"auth_soap", $this->ctrl->getLinkTarget($this,
"editSOAP"),
963 $tabs_gui->addTarget(
965 $this->ctrl->getLinkTargetByClass(
'ilopenidsettingsgui',
'settings'),
971 $tabs_gui->addTarget(
"apache_auth_settings", $this->ctrl->getLinkTarget($this,
'apacheAuthSettings'),
975 if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
977 $tabs_gui->addTarget(
"perm_settings",
978 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm"),
979 array(
"perm",
"info",
"owner"),
'ilpermissiongui');
988 global $rbacsystem,
$ilUser,$ilAccess;
990 $GLOBALS[
'lng']->loadLanguageModule(
'auth');
995 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
997 $this->tabs_gui->addSubTabTarget(
"auth_settings",
998 $this->ctrl->getLinkTarget($this,
'authSettings'),
1001 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1003 $this->tabs_gui->addSubTabTarget(
1004 'auth_login_editor',
1005 $this->ctrl->getLinkTargetByClass(
'ilauthloginpageeditorgui',
''),
1018 $this->tabs_gui->setTabActive(
"apache_auth_settings");
1024 $settings =
new ilSetting(
'apache_auth');
1025 $settingsMap = $settings->getAll();
1027 $path = ILIAS_DATA_DIR .
'/' . CLIENT_ID .
'/apache_auth_allowed_domains.txt';
1028 if (file_exists(
$path) && is_readable(
$path)) {
1029 $settingsMap[
'apache_auth_domains'] = file_get_contents(
$path);
1032 $form->setValuesByArray($settingsMap);
1034 $tpl->setVariable(
'ADM_CONTENT', $form->getHtml());
1041 $form->setValuesByPost();
1045 if ($form->checkInput())
1047 $settings =
new ilSetting(
'apache_auth');
1050 'apache_auth_indicator_name',
'apache_auth_indicator_value',
1051 'apache_enable_auth',
'apache_enable_local',
'apache_local_autocreate',
1052 'apache_enable_ldap',
'apache_auth_username_config_type',
1053 'apache_auth_username_direct_mapping_fieldname',
1054 'apache_default_role',
'apache_auth_target_override_login_page',
1055 'apache_auth_enable_override_login_page',
1056 'apache_auth_authenticate_on_login_page',
1061 foreach($fields as $field)
1062 $settings->set($field, $form->getInput($field));
1064 if ($form->getInput(
'apache_enable_auth'))
1065 $this->
ilias->setSetting(
'apache_active',
true);
1067 $this->
ilias->setSetting(
'apache_active',
false);
1069 if ($ilSetting->get(
"auth_mode") ==
AUTH_APACHE) {
1075 file_put_contents(ILIAS_DATA_DIR .
'/' . CLIENT_ID .
'/apache_auth_allowed_domains.txt', $allowedDomains);
1078 $this->ctrl->redirect($this,
'apacheAuthSettings');
1088 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1091 $form->setFormAction($this->ctrl->getFormAction($this));
1092 $form->setTitle($this->lng->txt(
'apache_settings'));
1094 $chb_enabled =
new ilCheckboxInputGUI($this->lng->txt(
'apache_enable_auth'),
'apache_enable_auth');
1095 $form->addItem($chb_enabled);
1097 $chb_local_create_account =
new ilCheckboxInputGUI($this->lng->txt(
'apache_autocreate'),
'apache_local_autocreate');
1098 $chb_enabled->addSubitem($chb_local_create_account);
1101 $roles = $rbacreview->getGlobalRolesArray();
1102 $select =
new ilSelectInputGUI($this->lng->txt(
'apache_default_role'),
'apache_default_role');
1103 $roleOptions = array();
1104 foreach($roles as $role) {
1107 $select->setOptions($roleOptions);
1108 $select->setValue(4);
1110 $chb_local_create_account->addSubitem($select);
1112 $chb_local =
new ilCheckboxInputGUI($this->lng->txt(
'apache_enable_local'),
'apache_enable_local');
1113 $form->addItem($chb_local);
1115 $chb_ldap =
new ilCheckboxInputGUI($this->lng->txt(
'apache_enable_ldap'),
'apache_enable_ldap');
1116 $chb_ldap->
setInfo($this->lng->txt(
'apache_ldap_hint_ldap_must_be_configured'));
1118 $GLOBALS[
'lng']->loadLanguageModule(
'auth');
1119 include_once
'./Services/LDAP/classes/class.ilLDAPServer.php';
1123 $ldap_server_select =
new ilSelectInputGUI($this->lng->txt(
'auth_ldap_server_ds'),
'apache_ldap_sid');
1124 $options[0] = $this->lng->txt(
'select_one');
1125 foreach($servers as $server_id)
1128 $options[$server_id] = $ldap_server->getName();
1131 $ldap_server_select->setRequired(
true);
1134 $ldap_server_select->setValue($ds);
1136 $chb_ldap->addSubItem($ldap_server_select);
1138 $form->addItem($chb_ldap);
1140 $txt =
new ilTextInputGUI($this->lng->txt(
'apache_auth_indicator_name'),
'apache_auth_indicator_name');
1141 $txt->setRequired(
true);
1142 $form->addItem(
$txt);
1144 $txt =
new ilTextInputGUI($this->lng->txt(
'apache_auth_indicator_value'),
'apache_auth_indicator_value');
1145 $txt->setRequired(
true);
1146 $form->addItem(
$txt);
1149 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'apache_auth_enable_override_login'),
'apache_auth_enable_override_login_page');
1150 $form->addItem($chb);
1152 $txt =
new ilTextInputGUI($this->lng->txt(
'apache_auth_target_override_login'),
'apache_auth_target_override_login_page');
1153 $txt->setRequired(
true);
1154 $chb->addSubItem(
$txt);
1156 $chb =
new ilCheckboxInputGUI($this->lng->txt(
'apache_auth_authenticate_on_login_page'),
'apache_auth_authenticate_on_login_page');
1157 $form->addItem($chb);
1160 $sec->setTitle($this->lng->txt(
'apache_auth_username_config'));
1161 $form->addItem($sec);
1163 $rag =
new ilRadioGroupInputGUI($this->lng->txt(
'apache_auth_username_config_type'),
'apache_auth_username_config_type');
1164 $form->addItem($rag);
1166 $rao =
new ilRadioOption($this->lng->txt(
'apache_auth_username_direct_mapping'), 1);
1167 $rag->addOption($rao);
1169 $txt =
new ilTextInputGUI($this->lng->txt(
'apache_auth_username_direct_mapping_fieldname'),
'apache_auth_username_direct_mapping_fieldname');
1173 $rao =
new ilRadioOption($this->lng->txt(
'apache_auth_username_extended_mapping'), 2);
1175 $rag->addOption($rao);
1177 $rao =
new ilRadioOption($this->lng->txt(
'apache_auth_username_by_function'), 3);
1178 $rag->addOption($rao);
1184 $sec->setTitle($this->lng->txt(
'apache_auth_security'));
1185 $form->addItem($sec);
1188 $txt->setInfo($this->lng->txt(
'apache_auth_domains_description'));
1190 $form->addItem(
$txt);
1192 $form->addCommandButton(
'saveApacheSettings',$this->lng->txt(
'save'));
1193 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
1199 return join(
"\n", preg_split(
"/[\r\n]+/",
$text));
1211 require_once
'Services/Captcha/classes/class.ilCaptchaUtil.php';
1216 return array(
'authentication_settings' => array(
'authSettings', $fields));
Login page editor settings GUI ILIAS page editor or richtext editor.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
if($err=$client->getError()) $namespace
getTabs(&$tabs_gui)
get tabs public
editScriptObject()
Configure Custom settings.
This class represents an option in a radio group.
addToExternalSettingsForm($a_form_id)
static isAuthModeLDAP($a_auth_mode)
Check if user auth mode is LDAP.
Class ilAuthShibbolethSettingsGUI.
setSubTabs($a_tab)
set sub tabs
getAuthModeTitle()
get the title of auth mode
loginInfoObject()
displays login information of all installed languages
static checkFreetype()
Check whether captcha support is active.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
static _lookupTitle($a_id)
lookup object title
apacheAuthSettingsObject($form=false)
validateApacheAuthAllowedDomains($text)
static _getAuthModeName($a_auth_key)
static getInstanceByServerId($a_server_id)
Get instance by server id.
_getNumberOfUsersPerAuthMode()
get number of users per auth mode
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getAuthPlugins()
Get active enabled auth plugins.
initAuthModeDetermination()
init auth mode determinitation form
editSOAPObject()
Configure soap settings.
saveScriptObject()
validates all input data, save them to database if correct and active chosen auth mode ...
_updateAuthMode($a_roles)
static getServerIds()
Get all server ids ilDB $ilDB.
if(!is_array($argv)) $options
executeCommand()
Execute command.
Class ilObjectGUI Basic methods of all Output classes.
This class represents a text property in a property form.
Class ilRegistrationSettingsGUI.
redirection script todo: (a better solution should control the processing via a xml file) ...
static getDataSource($a_auth_mode)
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
getApacheAuthSettingsForm()
static getServerIdByAuthMode($a_auth_mode)
Get auth id by auth mode.
authSettingsObject()
display settings menu
_lookupRegisterAllowed()
get all roles that are activated in user registration
prepareOutput()
prepare output
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static _getInstance()
Get instance.
testSoapAuthConnectionObject()
updateAuthModeDeterminationObject()
update auth mode determination
Class ilObjAuthSettingsGUI.
This class represents a text area property in a property form.
saveSOAPObject()
validates all input data, save them to database if correct and active chosen auth mode ...
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
saveApacheSettingsObject()
static redirect($a_script)
http redirect to other script
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
ilObjAuthSettingsGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor public.