После настройки модуля LDAP-авторизации в Joomla пользователи Active Directory смогут авторизовываться в Joomla вводом своих учетных данных (логин@server.local | пароль или даже просто логин | пароль), в случае необходимости пропустить процесс постоянного ввода пароля, его можно автоматизировать средствами самой Joomla.
В версии 2.5 это делается правкой двух файлов конфигураций (ldap и модуля авторизации). Поехали.
В файле /JOOMLA_PATH/plugins/authentication/ldap/ldap.php закомментировать строки:
Теперь авторизация в Joomla будет осуществляться без ввода пароля, но только логина, что ессесно может привести к апопакалипсису.
Следующим шагом будет сокрытие от пользователя формы ввода логина и пароля и автоматической подстановки этих данных.
Редактировать файл /JOOMLA_PATH/modules/mod_login/tmpl/default.php - либо свой путь до файла шаблона модуля авторизации (если используется не стандартный шаблон Joomla).
Искать <fieldset class="userdata"> и заменить
затем
далее
и
Все что в блоке <?php echo JHtml::_('form.token'); ?> заменить следующим содержанием:
Теперь авторизация пользователя будет проходить автоматически при обращении к странице Joomla! Надо помнить, что измененный код файлов CMS может быть заменен на стандартный после обновления Joomla.
В версии 2.5 это делается правкой двух файлов конфигураций (ldap и модуля авторизации). Поехали.
В файле /JOOMLA_PATH/plugins/authentication/ldap/ldap.php закомментировать строки:
// LDAP does not like Blank passwords (tries to Anon Bind which is bad)
if (empty($credentials['password'])){$response->status = JAuthentication::STATUS_FAILURE;$response->error_message = JText::_('JGLOBAL_AUTH_PASS_BLANK');return false;}
Теперь авторизация в Joomla будет осуществляться без ввода пароля, но только логина, что ессесно может привести к апопакалипсису.
Следующим шагом будет сокрытие от пользователя формы ввода логина и пароля и автоматической подстановки этих данных.
Редактировать файл /JOOMLA_PATH/modules/mod_login/tmpl/default.php - либо свой путь до файла шаблона модуля авторизации (если используется не стандартный шаблон Joomla).
Искать <fieldset class="userdata"> и заменить
<input id="modlgn-username" type="text" name="username" size="18" />
на
<input id="modlgn-username" type="hidden" name="username" class="inputbox" value="<?php $rem_user = explode('@',$_SERVER['REMOTE_USER']); echo $rem_user[0]; ?>" size="18" />
затем
<input id="modlgn-passwd" type="password" name="password" size="18" />
на<input id="modlgn-passwd" type="hidden" name="password" class="inputbox" size="18" />
далее
<input id="modlgn-remember" type="checkbox" name="remember" value="yes"/>на<input id="modlgn-remember" type="hidden" name="remember" value="yes"/>
и
<input type="submit" name="Submit" value="<?php echo JText::_('JLOGIN') ?>" />на<input type="hidden" name="Submit" value="<?php echo JText::_('JLOGIN') ?>" />
Все что в блоке <?php echo JHtml::_('form.token'); ?> заменить следующим содержанием:
<?php echo JHtml::_('form.token'); ?>
<script type="text/javascript">
document.forms["login-form"].submit();
</script>
</fieldset>
<?php if ($params->get('posttext')): ?>
<div class="posttext">
<p><?php echo $params->get('posttext'); ?></p>
</div>
<?php endif; ?>
Теперь авторизация пользователя будет проходить автоматически при обращении к странице Joomla! Надо помнить, что измененный код файлов CMS может быть заменен на стандартный после обновления Joomla.
1 коммент.:
Добрый день, подскажите, а как такое же сделать но на последней версии Joomla 3.9?
Отправить комментарий