2012-05-09 53 views
0

這是背景。如何配置或修改Drupal以完全刪除Drupal的登錄,即使是管理員?

我需要在兩臺服務器上部署相同的Drupal網站。首先是互聯網訪問,我們不希望有任何Drupal登錄,甚至沒有管理員。

第二個服務器是我們組織內部網絡上,並在此服務器上的Drupal的網站只是一個常規。

在第一臺服務器上配置/修改Drupal的優雅方式是什麼?

對我來說,這是可以接受的,對於互聯網的Drupal,鏈接如http://myorg.com/user仍然有效,但應該是沒有形式的。如果我想這樣做,我需要修改哪些文件以及如何修改?

另一種解決方案可能是沒有的Drupal的任何配置/修改中,第一服務器可以有一個重定向任何http://myorg.com/user將被重定向到另一個頁面。這是可行的嗎?怎麼樣?

我使用的是Drupal 7,服務器環境是Unix。

非常感謝您的任何意見!

回答

1

Bright Plum建議的替代方法是可以修改.htaccess。禁止所有/ admin路徑和/用戶路徑。

但Bright Plum回答的方式可能會更好一些。因爲它允許你在兩個服務器上使用相同的代碼(使用不同的數據庫),在第一個服務器上啓用你的模塊,在第二個服務器上你永遠不啓用它)。

希望有所幫助。

+0

光明和米格爾,非常感謝你們。我忘了提及這兩個網站共享相同的數據庫。我測試並認爲.htaccess方法非常優雅。亮:我從你的回覆中瞭解到了一點。 – curious1

1

內的Drupal任何路徑是通過hook_menu_alter改變的。

簡單的創建自定義模塊,使用掛鉤,並設置你想要的(用戶,用戶/登錄)拒絕訪問的路徑。

您可以爲用戶設置配置以禁止註冊以禁用用戶/註冊。

的項目是一個數組,所以你可以簡單地添加屬性「進入回調」,並將其設置爲FALSE。

function mymodule_menu_alter(&$items) { 
    //disable the user login paths 
    $items['user']['access callback'] = FALSE; 
    $items['user/login']['access callback'] = FALSE; 
}