2009-06-30 09:22:30 +00:00
|
|
|
<?php
|
2009-07-01 06:09:17 +00:00
|
|
|
// $Header$
|
2009-06-30 08:05:37 +00:00
|
|
|
|
2009-06-30 09:29:51 +00:00
|
|
|
/**
|
|
|
|
* Displays the login form for a server for users who specify 'cookie' or 'session' for their auth_type.
|
2009-06-30 08:05:37 +00:00
|
|
|
*
|
2009-06-30 09:29:51 +00:00
|
|
|
* @author The phpLDAPadmin development team
|
2009-07-01 06:09:17 +00:00
|
|
|
* @package phpLDAPadmin
|
2009-06-30 09:29:51 +00:00
|
|
|
* @see login.php
|
|
|
|
*/
|
2009-07-01 06:09:17 +00:00
|
|
|
|
2009-06-30 09:29:51 +00:00
|
|
|
/**
|
2009-06-30 08:05:37 +00:00
|
|
|
*/
|
|
|
|
|
2009-06-30 09:22:30 +00:00
|
|
|
require './common.php';
|
2009-06-30 08:05:37 +00:00
|
|
|
|
2009-07-01 06:09:17 +00:00
|
|
|
printf('<h3 class="title">%s %s</h3>',_('Authenticate to server'),$app['server']->getName());
|
|
|
|
echo '<br />';
|
2009-06-30 10:41:18 +00:00
|
|
|
|
|
|
|
# Check for a secure connection
|
2009-06-30 11:52:55 +00:00
|
|
|
if (! isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) != 'on') {
|
2009-06-30 10:41:18 +00:00
|
|
|
echo '<center>';
|
|
|
|
echo '<span style="color:red">';
|
|
|
|
printf('<acronym title="%s"><b>%s: %s.</b></acronym>',
|
|
|
|
_('You are not using \'https\'. Web browser will transmit login information in clear text.'),
|
|
|
|
_('Warning'),_('This web connection is unencrypted'));
|
|
|
|
echo '</span>';
|
|
|
|
echo '</center>';
|
2009-07-11 04:14:39 +00:00
|
|
|
|
|
|
|
echo '<br />';
|
2009-06-30 10:41:18 +00:00
|
|
|
}
|
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
# HTTP Basic Auth Form.
|
|
|
|
if ($app['server']->getAuthType() == 'http') {
|
|
|
|
ob_end_clean();
|
|
|
|
|
|
|
|
# When we pop up the basic athentication, we come back to this script, so try the login again.
|
|
|
|
if ($app['server']->isLoggedIn('user')) {
|
|
|
|
system_message(array(
|
|
|
|
'title'=>_('Authenticate to server'),
|
|
|
|
'body'=>_('Successfully logged into server.'),
|
|
|
|
'type'=>'info'),
|
|
|
|
sprintf('cmd.php?server_id=%s&refresh=SID_%s',$app['server']->getIndex(),$app['server']->getIndex()));
|
|
|
|
|
|
|
|
die();
|
|
|
|
}
|
|
|
|
|
|
|
|
header(sprintf('WWW-Authenticate: Basic realm="%s %s"',app_name(),_('login')));
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.0')
|
|
|
|
header('HTTP/1.0 401 Unauthorized'); // http 1.0 method
|
|
|
|
else
|
|
|
|
header('Status: 401 Unauthorized'); // http 1.1 method
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
return;
|
2009-08-12 13:53:14 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
# HTML Login Form
|
|
|
|
} else {
|
|
|
|
echo '<form action="cmd.php" method="post" name="login_form">';
|
|
|
|
echo '<input type="hidden" name="cmd" value="login" />';
|
|
|
|
printf('<input type="hidden" name="server_id" value="%s" />',$app['server']->getIndex());
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
if (get_request('redirect','GET',false,false))
|
|
|
|
printf('<input type="hidden" name="redirect" value="%s" />',rawurlencode(get_request('redirect','GET')));
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
echo '<center>';
|
|
|
|
echo '<table class="forminput">';
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
printf('<tr><td><b>%s:</b></td></tr>',
|
|
|
|
$app['server']->getValue('login','auth_text') ? $app['server']->getValue('login','auth_text') :
|
|
|
|
($app['server']->getValue('login','attr') == 'dn' ? _('Login DN') : $_SESSION[APPCONFIG]->getFriendlyName($app['server']->getValue('login','attr'))));
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
printf('<tr><td><input type="text" id="login" name="login" size="40" value="%s" /></td></tr>',
|
|
|
|
$app['server']->getValue('login','attr',false) == 'dn' ? $app['server']->getValue('login','bind_id') : '');
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
echo '<tr><td colspan=2> </td></tr>';
|
|
|
|
printf('<tr><td><b>%s:</b></td></tr>',_('Password'));
|
|
|
|
echo '<tr><td><input type="password" id="password" size="40" value="" name="login_pass" /></td></tr>';
|
|
|
|
echo '<tr><td colspan=2> </td></tr>';
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
# If Anon bind allowed, then disable the form if the user choose to bind anonymously.
|
|
|
|
if ($app['server']->isAnonBindAllowed())
|
|
|
|
printf('<tr><td colspan="2"><small><b>%s</b></small> <input type="checkbox" name="anonymous_bind" onclick="toggle_disable_login_fields(this)" id="anonymous_bind_checkbox" /></td></tr>',
|
|
|
|
_('Anonymous'));
|
2009-06-30 10:41:18 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
printf('<tr><td colspan="2"><center><input type="submit" name="submit" value="%s" /></center></td></tr>',
|
|
|
|
_('Authenticate'));
|
2009-06-30 10:46:00 +00:00
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
echo '</table>';
|
|
|
|
echo '</center>';
|
|
|
|
echo '</form>';
|
|
|
|
|
2009-07-11 04:14:39 +00:00
|
|
|
echo '<br/>';
|
|
|
|
|
2009-07-11 00:18:48 +00:00
|
|
|
echo '<script type="text/javascript" language="javascript">document.getElementById(\'login\').focus()</script>';
|
|
|
|
|
|
|
|
if ($app['server']->isAnonBindAllowed() ) {
|
2009-07-01 06:09:17 +00:00
|
|
|
?>
|
2009-06-30 10:26:08 +00:00
|
|
|
<script type="text/javascript" language="javascript">
|
2009-07-01 06:09:17 +00:00
|
|
|
function toggle_disable_login_fields(anon_checkbox) {
|
|
|
|
if (anon_checkbox.checked) {
|
|
|
|
anon_checkbox.form.login.disabled = true;
|
|
|
|
anon_checkbox.form.password.disabled = true;
|
|
|
|
} else {
|
|
|
|
anon_checkbox.form.login.disabled = false;
|
|
|
|
anon_checkbox.form.login.focus();
|
|
|
|
anon_checkbox.form.password.disabled = false;
|
2009-06-30 08:05:37 +00:00
|
|
|
}
|
2009-07-01 06:09:17 +00:00
|
|
|
}
|
2009-06-30 08:05:37 +00:00
|
|
|
</script>
|
2009-07-01 06:09:17 +00:00
|
|
|
<?php
|
2009-07-11 00:18:48 +00:00
|
|
|
}
|
2009-07-01 06:09:17 +00:00
|
|
|
}
|
|
|
|
?>
|