2013-04-15 5 views
7

हम अपनी साइट (विभिन्न सर्वर, विभिन्न उप डोमेन, लेकिन एक ही मुख्य डोमेन) में मूडल जोड़ रहे हैं, और सर्वर एक दूसरे के साथ संवाद करने में सक्षम होने के लिए सेट हैं) और हम क्या चाहते हैं यह करने के है:मूडल स्वीकृति बाहरी साइट से लॉग इन

  • उपयोगकर्ता मुख्य साइट तक पहुंच में
  • उपयोगकर्ता
  • उपयोगकर्ता लॉग Moodle के लिंक पर क्लिक
  • उपयोगकर्ता स्वचालित रूप से अपनी जानकारी फिर से दर्ज किए बिना Moodle में प्रवेश किया गया
  • अगर उपयोगकर्ता बुकमार्क या सीधे Moodle तक पहुँचता है, वे अभी भी सीधे वहाँ प्रवेश कर सकते हैं

हम पहले से ही यह डाटाबेस प्राधिकरण (बाहरी डेटाबेस प्रमाणीकरण) तो मुख्य साइट से खातों का उपयोग भी Moodle के लिए काम की स्थापना की है, मैं तो बस है कोई जानकारी नहीं है कि मौजूदा क्रेडेंशियल्स को स्वीकार करने के लिए मूडल कैसे प्राप्त करें और स्वचालित रूप से उपयोगकर्ता को लॉग इन करें।

+0

क्या आप कृपया मेरी मदद कर सकते हैं कि कैसे अपनी बाहरी साइट को अपने मूडल से कनेक्ट करें .. मैंने बहुत कोशिश की..लेकिन मैं यह नहीं कर सका .. क्या आप कृपया मेरी मदद कर सकते हैं – user3663

उत्तर

9

तो मैं इसे हल करने में सक्षम था और सोचा कि अगर भविष्य में किसी और की भी ऐसी ही समस्या हो तो मैं अपना समाधान साझा करूंगा।

चूंकि हमारे Moodle साइट और मुख्य साइट ही डोमेन में हैं, क्या मैंने किया था हमारी मुख्य साइट के लिए लॉगिन स्क्रिप्ट में था, मैं निम्नलिखित कोड कहा:

$postData = array('username' => $username, 'password' => $password); 
$post = http_post_fields('http://moodle.example.com/login/index.php', $postData); 
$headers = http_parse_headers($post); 
foreach($headers['Set-Cookie'] as $cookie) 
{ 
    $details = http_parse_cookie($cookie); 
    foreach ($details->cookies as $name => $value) 
     setcookie($name, $value, $details->expires, $details->path, 'example.com'); 
} 

असल में, मैं लॉगइन क्रेडेंशियल्स तैनात http_post_fields का उपयोग करते हुए मूडल लॉगिन स्क्रिप्ट के लिए, हालांकि curl को भी काम करना चाहिए, कुकीज़ मूडल सेट प्राप्त करने के लिए हेडर को पार्स किया गया है, फिर उन कुकीज़ को अधिक विशिष्ट मूडल सबडोमेन के बजाय मूल डोमेन का उपयोग करके सेट करें। इससे कुछ समस्याएं हो सकती हैं यदि उपयोगकर्ता के पास अधिक विशिष्ट सबडोमेन से मौजूदा कुकी है, इसलिए किसी मौजूदा कुकी को मूडलशन के नाम से हटाना सुनिश्चित करें।

+0

क्या आपने एक डोमेन या दो उप डोमेन का उपयोग किया था? –

+0

यदि यह अलग डोमेन पर है? – user3663

संबंधित मुद्दे