【问题标题】:Quick SSO between moodle and codeignitermoodle 和 codeigniter 之间的快速 SSO
【发布时间】:2012-01-02 06:45:23
【问题描述】:

我正在尝试在moodle和codeigniter应用程序之间实现一些快速sso ..

我浏览了 CAS,觉得它很复杂,或者至少不能很快掌握..

所以我决定做一些解决方法..并开始使用带有用户名和密码的 jquery 提供 ajax 请求..

$(function(){
    $.post("/moodle/login/index.php", {username:'9535953595',password:'password'}, function(data) {
      console.log(data);
    });
});

一旦成功(我能够在不输入登录详细信息的情况下进入moodle站点..我猜接近SSO..)并且由于javascript会暴露密码等宝贵数据..我决定使用curl或zend http客户端发布数据..这在一定程度上有效..它还以moodle主页作为结果正文返回我

$client = new Zend_Http_Client('http://localhost/moodle/login/index.php');
$client->setCookieJar();
$client->setParameterPost(array(
    'username' => 9535952595,
    'password' => 'password'
));//POST
$response = $client->request('POST');//POST
print_r($response->getBody()); // MOODLE HOME PAGE HERE ;)

但是在建立稳定的 cookie 或浏览器会话时似乎存在问题.. php 方式 dint 生成 cookie 或 moodle 浏览器会话.. 并且后续的 moodle url 无法访问.. 不像 ajax 调用确实创建了一个真实的会议..

谁能提出一个解决这个问题的好方法..

【问题讨论】:

    标签: php session jquery single-sign-on moodle


    【解决方案1】:

    AJAX 调用是由客户端浏览器进行的,因此它会在客户端和 Moodle 之间创建一个会话。 curl 介于 codeigniter 和 moodle 之间,因此几乎无法正常工作。

    我只能以这种方式想到一个可行的解决方案是有一个中间页面,该页面有一个带有用户名和密码的隐藏表单,并在通过javascript加载时提交到moodle登录页面。这也不会比您已经尝试过的 ajax 更安全。

    强烈建议使用一些 SSO 服务器。现在这些都很容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多