2012-11-26 24 views
1

因此,本質上我公司網站的一部分是運行Drupal 7加上商業插件。我想知道是否有一種安全的方式來利用網站中未使用Drupal的其他部分中已有的用戶。這是爲了避免由於程序之間缺乏通信而導致對於單個用戶有兩個單獨的用戶帳戶。基於來自Drupal數據庫的信息還是一種標準的方式來實現應用程序中用戶的安全嗎? Drupal支持數據庫是一個龐大,奇怪,複雜的龐然大物,我不希望憤怒它。用另一個應用程序驗證Drupal 7用戶?

我唯一需要做的就是確定用戶的憑證是否有效,如果他們通過我的身份驗證表單登錄。如果我可以通過使用Drupal登錄系統(也許通過傳遞一個url來轉發到後面)來做到這一點,那將是非常好的。還是有一個腳本已經管理這個?

我也希望能夠確定用戶是否已經登錄並且仍然記得基於我確信Drupal軟件設置的cookie。

參考資料,我可以在Drupal核心中使用的適用腳本等將不勝感激。我是一個對Drupal一無所知的人,但是具有良好的PHP /知識,因爲我多年來一直從事Web開發的專業工作。

回答

4

是的,這很容易,你可以做到以下兩種方式之一。

選項1,使用服務模塊,您可以使用REST登錄/認證用戶。

選項2,您可以編寫自定義代碼。您可以包含Drupal Boostrap或您需要的用戶模塊中的單個文件。然後只需使用user_authenticate()函數來檢查用戶名和密碼。

0

細節當我們談論我們必須談發展和普及它是由天達到一天Drupal的技術。但是問題在於,drupal 7是否爲用戶提供了一個完美的平臺。來到這篇文章,我認爲是的,有一種安全的方式來驗證drupal中應用程序數據庫中的用戶。

+0

這有什麼好做的問題問,也許你讀錯? – thatidiotguy

1

對於使用PHP的Drupal引導
這個文件應該是Drupal安裝內部
這是地獄容易

//set the working directory to your Drupal root 
define("DRUPAL_ROOT",  "/var/www/drupal/"); 

//require the bootstrap include 
require_once 'includes/bootstrap.inc'; 

//Load Drupal 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 
//(loads everything, but doesn't render anything) 

$name = 'admin'; 
$password = 'admin'; 

//use drupal user_authenticate function 
if(!user_authenticate($name, $password)){ 
    echo 'invalid'; 
}else{ 
    echo 'valid'; 
} 
+0

有一種方法是一個drupal模塊,但它不適用於我 https://drupal.org/project/udc – Thilina

相關問題