2013-04-15 2 views
7

Мы добавляем Moodle на наш сайт (разные серверы, разные поддомены, но один и тот же основной домен, а серверы настроены так, чтобы иметь возможность общаться друг с другом) и то, что мы хотим есть это сделать:Moodle Accept Вход с внешнего сайта

  • пользователь получает доступ на основной сайт
  • журналы пользователя в
  • пользователь нажимает на ссылку Мудл
  • пользователь автоматически регистрируется в Moodle без повторного ввода их информации
  • Если закладки пользователей или прямой доступ Moodle, они все еще могут войти в систему непосредственно там

У нас уже есть его настроить с помощью дб авторизацию (на проверку подлинности внешней базы данных), так что счета от основного сайта также работать для Moodle, я просто не знаю, как заставить Moodle принимать существующие учетные данные и автоматически регистрировать пользователя.

+0

Не могли бы вы помочь мне связать свой внешний сайт с вашим moodle..и много пробовали..бо я не мог этого сделать. Не могли бы вы помочь мне – user3663

ответ

9

Так что я смог решить эту проблему и подумал, что поделюсь своим решением, если у кого-то еще будет аналогичная проблема в будущем.

С нашего сайта Moodle и основной сайт находятся на том же домене, что я сделал в сценарии входа в систему для нашего основного сайта, я добавил следующий код:

$postData = array('username' => $username, 'password' => $password); 
$post = http_post_fields('http://moodle.example.com/login/index.php', $postData); 
$headers = http_parse_headers($post); 
foreach($headers['Set-Cookie'] as $cookie) 
{ 
    $details = http_parse_cookie($cookie); 
    foreach ($details->cookies as $name => $value) 
     setcookie($name, $value, $details->expires, $details->path, 'example.com'); 
} 

В принципе, я отправил учетные данные для входа к сценарию входа в moodle с использованием http_post_fields, хотя cURL также должен работать, проанализировал заголовки, чтобы получить куки Moodle, и затем настройте эти файлы cookie, используя базовый домен, а не более конкретный субдомен Moodle. Это может вызвать некоторые проблемы, если пользователь имеет существующий файл cookie из более конкретного субдомена, поэтому обязательно удалите все существующие файлы cookie с именем MoodleSession.

+0

вы использовали один домен или два поддомена? –

+0

если он находится в другом домене? – user3663

Смежные вопросы