申し訳ありませんが、これに対する答えを説明するのはかなり複雑です。コンセプトは実にシンプルです。
Node Access ベースのモジュールを使用する必要があります。ノードアクセスモジュールは何をしますか? 参照してください:
概要についてはhttp://drupal.org/node/270000
まず、3 つのユーザー ロールを作成します。それらを Role_A、Role_B、Role_C と呼びましょう。次に、Group という語彙を作成します。グループ語彙に次の 3 つの用語を追加します: Group_A、Group_B、Group_C。
Group Vocabulary が、ページ、ストーリーなど、制御したいすべてのコンテンツ タイプに適用されることを確認してください。
概念は次のとおりです。Role_A のユーザーがノードを作成する場合、Group_A タームをノードに追加する必要があります。Role_B のユーザーがノードを作成する場合、Group_B タームをノードに追加する必要があります。Role_C のユーザーがノードを作成する場合、Group_C タームを追加する必要があります。ユーザーがこれを行う必要がないようにしたいことはわかっています...これを回避したり、簡単にしたりする方法があります...読み続けてください。
タクソノミー アクセス コントロールライトモジュールhttp://drupal.org/project/tac_liteを使用すると、次のようになります。
ロール A には、分類用語 Group_A、Group_B、または Group_C を持つすべてのノードへの表示アクセス権があります。ロール B には、分類用語 Group_B を持つすべてのノードへの表示アクセス権があります。ロール C には、分類用語 Group_A または Group_C を持つすべてのノードへの表示アクセス権があります。
ここで、Role_A のユーザーがGroup_A以外のグループ語彙からの用語を添付できないようにする必要があります。つまり、Role_A ユーザーは用語 Group_A のみをノードに追加でき、Role_B ユーザーは用語 Group_B のみをノードに追加でき、Role_C ユーザーは用語 Group_C のみをノードに追加できる必要があります。
これは、term パーミッション モジュールhttp://drupal.org/project/term_permissionsを使用して行うことができます。
グループ語彙の各用語に移動して編集します。アクセス許可セクションが利用可能になります。したがって、Role_Aは期間 Group_A に対してのみ権限を持ち、Role_B は Group_B に対して権限を持ち、Role_C は Group_C に対して権限を持つようにします。
ここで、グループの語彙を必須にする必要があります (語彙の編集設定で必須のチェックボックスをクリックします)。これは、ユーザーが自分のグループを選択することを強制するためです。用語の許可により、ドロップダウンには選択する必要がある項目が 1 つしかないため、これは簡単なことです。
Views モジュールはそのまま使用できます。Role_A ユーザーは、必要なノードのみを表示できます。それで大丈夫です。
注 1: ユーザーがグループを選択しなければならないことを心配したくない場合は、常にルール モジュールを使用して、ノードが保存時に特定の分類用語でマークされていることを確認できます。http://drupal.org/project/rulesを参照してください。したがって、ユーザー ロールがロール A の場合は、保存時に Group_A タームを追加します。ルールを使用している場合、グループ語彙を「必須」にする必要はありません。
注 2: タクソノミー アクセス コントロールライト+ ターム パーミッション モジュールの組み合わせを使用する代わりに、タクソノミー アクセス コントロールhttp://drupal.org/project/taxonomy_accessを使用することもできます。これは強力ですが、よりトリッキーなモジュールです。
注 3: これを書いている時点で、パーミッション モジュールという用語は、階層選択 (HS) モジュールおよびおそらくタクソノミー スーパー選択 (TSS) モジュールと干渉することに注意してください。したがって、HS/TSS モジュールを使用している場合は、(tac_lite ではなく) ユーザー分類アクセス制御が必要になります。