1
0
mirror of https://github.com/moodle/moodle.git synced 2025-03-01 22:42:37 +01:00
moodle/auth/ldap/ntlmsso_magic.php
martinlanghoff 3357a506bd MDL-9399 auth/ldap: NTLM SSO - Resolve Moodle cookies issue, tighten config.php require()s
Use $nomoodlecookie global to avoid session troubles. Also

 * Ensure we load the appropriate config.php, even if we are executing
   under a strange environment (ie: with a user's credentials!)

 * Test we have a spacer gif to open before we open it
2007-11-14 22:08:55 +00:00

44 lines
1.1 KiB
PHP

<?php
// Don't let lib/setup.php set any cookies
// as we will be executing under the OS security
// context of the user we are trying to login, rather than
// of the webserver.
$nomoodlecookie=true;
require_once(dirname(dirname(dirname(__FILE__)))."/config.php");
//HTTPS is potentially required in this page
httpsrequired();
$authsequence = get_enabled_auth_plugins(true); // auths, in sequence
if (!in_array('ldap',$authsequence,true)) {
print_error('ldap_isdisabled','auth');
}
$authplugin = get_auth_plugin('ldap');
if (empty($authplugin->config->ntlmsso_enabled)) {
print_error('ntlmsso_isdisabled','auth');
}
$sesskey = required_param('sesskey', PARAM_RAW);
$file = $CFG->dirroot . '/pix/spacer.gif';
if ($authplugin->ntlmsso_magic($sesskey)
&& file_exists($file)) {
// Serve GIF
// Type
header('Content-Type: image/gif');
header('Content-Length: '.filesize($file));
// Output file
$handle=fopen($file,'r');
fpassthru($handle);
fclose($handle);
exit;
} else {
print_error('ntlmsso_iwamagicnotenabled','auth');
}
?>