Аутентификация без пароля на Moodle - PullRequest
1 голос
/ 24 мая 2011

На самом деле я пытаюсь интегрировать свою систему с Moodle.Мне нужна функциональность, которая должна работать следующим образом:

  1. Войдите в мою систему (то же имя пользователя, что и в Moodle DB)
  2. Пользователь решает перейти на Moodle, поэтому он нажимает на ссылкув сценарий (на сервере Moodle - обе системы находятся на других серверах), и я получаю все данные из базы данных о пользователе, которому я хочу войти (целая строка из базы данных) ...
  3. Поскольку пароль зашифрован,Я не могу сейчас перенаправить на форму входа с параметрами сообщения, потому что она не будет работать.

Есть ли какой-нибудь хороший и простой способ достичь этой цели?У меня есть имя пользователя, хешированный и, в конце концов, хэшированный пароль.

Я использую Moodle 1.9 (системные требования).

Заранее благодарен за любую помощь,

С уважением, Дэвид

Ответы [ 2 ]

1 голос
/ 30 мая 2011

Некоторые вещи для SSO и Moodle 1.9:

0 голосов
/ 16 апреля 2013

Вот что я сделал

1 - Я включил плагин аутентификации (Внешняя база данных)

2 - Создайте этот php-файл в папке (my / moodle / root / login /)

    <?php
    require('../config.php');
    $username =  $_GET['id'];// 's3265';
    $serverName = 'moodle' ;
    $connectionInfo = array( "UID"=>"mssqlUser","PWD"=>"********","Database"=>"external_Database");
//I am using MSSQL2008
        echo '<form action="' . $CFG->wwwroot . 
             '/login/index.php" method="post" name="login" id="form">';

    $conn = sqlsrv_connect( $serverName, $connectionInfo );

    if (!$conn)
       {die('Could not connect: ' . sqlsrv_error());}
    $result = sqlsrv_query($conn , "SELECT * FROM Users WHERE LoginID = '" . $username . "'");

    var_dump($conn, $result);
    while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC))
    {
            echo  $row['FName'] . " " . $row['LName'] . ", please wait. . .";
        $password =  $row['LoginPassword'];
    }
    sqlsrv_close($conn);
?>
        <p><input type="hidden" name="username" value="<?php echo $username ?>">
                <p><input type="hidden" name="password" value="<?php echo $password ?>">

        <script language="JavaScript">
             function Validate(){document.login.submit();}

             Validate();
        </script>

</form>

3 - предполагается, что вы назвали rhr-файл (test.php) теперь ваша ссылка должна выглядеть как (http://your_domain/moodle/login/test.php?id=yourusername) для меня это работает, но.,,Я не беспокоюсь о безопасности.,,если вы делаете.,,Вы должны что-то добавить к этому

...