2012-03-24 22 views
5

私はDrupal 7でサイトを開発する必要があります。私はCCKのファイルフィールドでいくつかのコンテンツタイプを持っています。また、これらのタイプのノードへのアクセスは、特定のDrupalユーザーロールにのみ許可する必要があります。そして、いつでも、サイト管理者は、これらのノードを「公開」または「非公開」にすることができます。Drupal 7:特定のユーザーロールへのファイルアクセスを制限する方法

ノードを特定のユーザーの役割にしか表示させることはできませんが、これは十分なセキュリティではありません。匿名ユーザーがファイルへのパスを知っている場合(www.mysite.org/hidden_​​files/file1)、彼はそれをダウンロードできます。

この問題を解決する最も洗練された方法は何ですか?

ありがとうございます。

+0

私はこのモジュールを使用していませんが、私はそれをインストールします。これにより、役割別にファイルへのアクセスを制限できます。 https://drupal.org/project/file_access –

+1

アルファ版ではなく、ロールによるプライベートファイルの別の制限https://drupal.org/project/private_files_download_permission –

答えて

9

はここに、このドキュメントをチェックアウト:http://drupal.org/documentation/modules/file

は具体的には、セクションでは、プライベート・データ・ストアのセットアップについて語っ「ファイルの場所とアクセス管理」というタイトル(すべてのDrupal 7でサポートされている、それだけで設定する必要があります) 。

は、フォルダを作成し、を言い換えするになど:

サイト/への直接アクセスを防止するために、以下にそのフォルダ内のの.htaccessファイルを入れ

民間デフォルト/ファイル/ウェブ経由のファイル:

はすべて

から拒否

のDrupalの管理に

ログを(マニュアルは、次のステップは、自動的に上記の手順を行います私は残念ながらテストしていませんが、あなたは上記の2つのステップをスキップする場合はいくつかの時間を節約することができるかもしれ主張します) /admin/config/media/file-systemに移動し、プライベートURLを設定し、デフォルトのダウンロード方法としてプライベートファイルをDrupalによって提供するを選択します。あなたはまた、編集にをあなたのコンテンツタイプを必要とし、ファイル/画像アップロードフィールドを設定しますhttp://drupal.org/project/content_access

:あなたはコンテンツAccessを使用できるノードとフィールドへのきめ細かなアクセスを定義するために

、アップロードしたファイルをパブリックファイルの代わりにプライベートファイルに保存します。

この時点で、ノードとフィールドレベルのアクセス許可は、ファイルを提供する前に資格情報を確認するメニューフックを通じて提供されるファイルにユーザーがアクセスできるかどうかを決定します。

これが役に立ちます。

+1

実際には、プライベートディレクトリをあなたの外に設定することもできます/ home/[your-account]/privateなどのWebルート。ディレクトリがDrupalによって書き込み可能であることを確認してください。Drupalは、サーバの設定に応じてさまざまな権限とグループ権限を持つことができます。 – Alex

+0

ありがとう!私はこの答えを「受け入れられた」とマークします。申し訳ありませんが、私は評判があるので、「有用」と表示することはできません<012 – mechmsk

+0

助けを借りていて幸いです。 – Alex

関連する問題