3 // Don't let lib/setup.php set any cookies
4 // as we will be executing under the OS security
5 // context of the user we are trying to login, rather than
7 define('NO_MOODLE_COOKIES', true);
9 require(__DIR__
.'/../../config.php');
11 //HTTPS is required in this page when $CFG->loginhttps enabled
12 $PAGE->https_required();
14 $PAGE->set_context(context_system
::instance());
16 $authsequence = get_enabled_auth_plugins(true); // auths, in sequence
17 if (!in_array('ldap', $authsequence, true)) {
18 print_error('ldap_isdisabled', 'auth');
21 $authplugin = get_auth_plugin('ldap');
22 if (empty($authplugin->config
->ntlmsso_enabled
)) {
23 print_error('ntlmsso_isdisabled', 'auth_ldap');
26 $sesskey = required_param('sesskey', PARAM_RAW
);
27 $file = $CFG->dirroot
.'/pix/spacer.gif';
29 if ($authplugin->ntlmsso_magic($sesskey) && file_exists($file)) {
30 if (!empty($authplugin->config
->ntlmsso_ie_fastpath
)) {
31 if (core_useragent
::is_ie()) {
32 // $PAGE->https_required() up above takes care of what $CFG->httpswwwroot should be.
33 redirect($CFG->httpswwwroot
.'/auth/ldap/ntlmsso_finish.php');
39 header('Content-Type: image/gif');
40 header('Content-Length: '.filesize($file));
43 $handle = fopen($file, 'r');
48 print_error('ntlmsso_iwamagicnotenabled', 'auth_ldap');