2013-03-22 31 views
1

我想讓用戶使用現有服務登錄到drupal。我能夠將用戶名和密碼發佈到遠程服務器上的drupal,並且我確實收到了認證信息。通過服務將用戶登錄到drupal

我的問題是如何註冊會話,以便Drupal知道我已登錄?一旦我登錄,並嘗試訪問任何東西,我得到"Access denied for anonymous user"

我注意到在看服務票據即說:

Authentication : header Cookie must be set to <session_name>=<sessid> given by the login response of a successful login

所以我試圖

$_SESSION[$curlResult->session_name] = $curlResult->sessid; 

,我不認爲這是什麼上面的內容是說。不知道標頭cookie是什麼。

$curlResult->session_name$curlResult->sessid絕對有效,這是成功登錄時返回的內容的一部分。

+1

我想我只是想通了。 'curl_setopt($ ch,CURLOPT_COOKIE,「」。$ _SESSION ['user'] - > session_name。「=」。$ _SESSION ['user'] - > sessid。「」);' – Ronnie 2013-03-22 17:02:08

回答

0

您能否告訴我們一旦以用戶身份登錄後您想要做什麼? 有服務模塊可以允許用戶通過REST訪問。

我已成功登錄爲遠程用戶,沒有服務模塊,使用Python機械化進行負載測試。

+0

我收集與無論誰登錄。但我現在有工作。我查詢返回數據的json文件。我不能用ajax來調用json文件,因爲我得到了一個跨域問題。使用cURL解決了我的問題,除了一旦登錄,我無法使用其他需要您登錄的服務,但正如我所說,我想到了它 – Ronnie 2013-03-22 18:29:50

相關問題