实际上我正在尝试将我的系统与moodle集成。我需要一个应该像这样工作的功能:
有没有什么好方法可以实现这个目标?我有用户名和哈希值,最终哈希密码。
我正在使用moodle 1.9(系统要求)。
提前感谢您的帮助,
关心大卫
答案 0 :(得分:1)
有关SSO和Moodle 1.9的一些注意事项:
答案 1 :(得分:0)
这就是我做的事情
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)
对我而言,这是有效的,但是。 。 。我并不担心安全问题。 。 。如果你这样做。 。你必须在这个