2012-05-09 7 views
0

ここに背景です。adminの場合でもDrupalのログインを完全に削除するようにDrupalを設定または変更する方法は?

2つのサーバーにSAME Drupal Webサイトを展開する必要があります。最初はインターネットアクセスのためのもので、管理者でさえも、Drupalのログインは望んでいません。

第2のサーバーは組織の社内ネットワークにあり、このサーバーのDrupal Webサイトは通常のものです。

最初のサーバーでDrupalを設定/変更するには、どのような方法がありますか?

私の場合、インターネットのDrupalでは、http://myorg.com/userのようなリンクはまだ機能していますが、フォームは存在しないはずです。もし私がこれをやりたいのであれば、どのファイルを修正し、どのようにする必要がありますか?

もう1つの解決策は、Drupalの設定や変更がない場合でも、最初のサーバーでリダイレクトを行うことができ、http://myorg.com/userは別のページにリダイレクトされます。これは実行可能ですか?どうやって?

私はDrupal 7を使用しています。サーバー環境はUnixです。

入力いただきありがとうございます!

答えて

1

Bright Plumの提案に代わる方法として、.htaccessを変更することができます。すべての/ adminパスと/ userパスを拒否する。

Bright Plumが答えた方法は少し良くなるかもしれません。なぜなら、あなたはあなたのモジュールを有効にし、最初のモジュールでは両方のサーバー上で(異なるデータベースを使って)同じコードを持つことができるからです。

希望に役立ちます。

+0

BrightとMiguel、ありがとうございました。私は2つのウェブサイトが同じデータベースを共有していることを忘れていました。私はテストし、htaccessのアプローチがかなり優雅であると感じています。 明るい:私は少しあなたから返信を学んだ。 – curious1

1

Drupal内の任意のパスは、hook_menu_alterによって変更できます。

カスタムモジュールを簡単に作成し、フックを使用して、必要なパス(ユーザー、ユーザー/ログイン)がアクセスを拒否するように設定します。

ユーザが登録を禁止するように設定すると、ユーザ/登録を無効にすることができます。

項目は配列なので、プロパティ 'access callback'を追加してFALSEに設定するだけです。

function mymodule_menu_alter(&$items) { 
    //disable the user login paths 
    $items['user']['access callback'] = FALSE; 
    $items['user/login']['access callback'] = FALSE; 
} 
関連する問題