【问题标题】:Authentication without password on Moodle在 Moodle 上无需密码的身份验证
【发布时间】:2011-05-24 12:02:45
【问题描述】:

实际上,我正在尝试将我的系统与 moodle 集成。我需要一个应该像这样工作的功能:

  1. 登录我的系统(与moodle db中的用户名相同)
  2. 用户决定切换到moodle,因此他单击脚本链接(在moodle服务器上-两个系统都在其他服务器上),我从数据库中获取有关我要登录的用户的所有数据(数据库中的整行) ...
  3. 由于密码已加密,我现在无法使用 post 参数重定向到登录表单,因为它不起作用。

有没有什么好的简单的方法可以实现这个目标?我有用户名和哈希并最终哈希密码。

我正在使用moodle 1.9(系统要求)。

提前感谢您的帮助,

问候大卫

【问题讨论】:

    标签: authentication moodle integrated


    【解决方案1】:

    SSO 和 Moodle 1.9 的一些注意事项:

    【讨论】:

      【解决方案2】:

      这就是我所做的

      1 -我启用了(外部数据库)身份验证插件

      2 - 在文件夹 (my/moodle/root/login/) 中创建这个 php 文件

          <?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) 对我来说它正在工作,但是。 . .我不关心安全。 . .如果你这样做。 . .您必须为此添加一些内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-06
        • 1970-01-01
        • 2014-01-07
        • 2012-02-19
        • 2018-06-18
        • 2018-03-26
        相关资源
        最近更新 更多