2012-01-02 1 views
0

Je suis en train de mettre en œuvre une sso rapide entre moodle et une application CodeIgniter ..rapide SSO entre moodle et CodeIgniter

je suis passé par CAS et a estimé qu'il est complexe ou du moins pas rapidement saisissable ..

Donc, j'ai décidé de faire une sorte de solution .. et a commencé en donnant la demande ajax en utilisant jquery avec nom d'utilisateur et mot de passe ..

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

une fois que ce fut successfull (j'ai pu aller dans le site moodle sans entrer dans les détails de connexion. près de SSO je suppose ..) et depuis javascri pt exposera des données précieuses comme mot de passe .. i décidé d'utiliser le client ou boucle zend http pour publier des données .. cela a fonctionné dans une certaine mesure .. il m'a aussi retourné avec la page d'accueil moodle que le corps de résultat

$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 ;) 

Mais semble être un problème dans l'établissement d'un cookie stable ou session de navigateur .. le php way dint générer un cookie ou moodle session de navigateur .. et moodle urls suivantes ne sont pas accessibles .. contrairement à l'appel ajax qui a créé une véritable session ..

quelqu'un peut-il suggérer un bon moyen de faire face à ce problème ..

Répondre

-1

L'appel AJAX est fait par le navigateur client de sorte qu'il c recrée une session entre le client et moodle. La boucle est entre codeigniter et moodle donc ça ne marchera pas.

Je ne peux penser à une solution de travail de cette façon est d'avoir une page du milieu qui a une forme cachée avec nom d'utilisateur et mot de passe et est soumis à moodle page de connexion sur onload par javascript. Cela ne sera pas plus sûr que l'ajax que vous avez déjà essayé.

Il est fortement recommandé d'utiliser un serveur SSO. Ce sont plutôt faciles ces jours-ci.