web-dev-qa-db-ja.com

サイト内のコンテンツアクセスを制限する方法

コミュニティサイト。フォーラム、グループ、ディスカッション掲示板など、サイトのプライベートな部分をユーザーが使用できるように制限します(他のユーザーには表示されません)。

つまり、特定のフォーラムは、特定のグループに属する特定のユーザーセットが利用できるようにする必要があります。

例:クリケット選手、サッカー選手など、複数のユーザーグループがあるとします。クリケットフォーラムの表示とアクセスを、それぞれクリケットプレーヤーとサッカーフォーラムのみに制限したい。そして、両方に見えるはずのスポーツと呼ばれる第3のフォーラムがあります。

質問は2つに分かれます。

  1. 特定のユーザーセットを作成する方法
  2. 特定のユーザーセットをフォーラム、グループなどに制限するにはどうすればよいですか。
3
Monish

1)特定のユーザーセットを作成するにはどうすればよいですか?

これは通常、サイトに適切な「ロール」を作成することで行い、次に、ユーザーごとに適切な「ロール」を割り当てます。

2)特定のユーザーセットをフォーラム、グループなどに制限するにはどうすればよいですか。

これと「役割」に「権限」を付与することを組み合わせてください(適切な役割を持つすべてのユーザーに継承されます)。例えば。 (選択した)フォーラムへのアクセスを許可します。

「グループ」となると、通常、そのために使用されるこれらのモジュールがあります。

  1. 最も一般的に使用されるのは Organic Groups で、これには Learn Organic Groups へのすばらしいビデオチュートリアルのセットがあります。特に「 Basic Organic group setup 」に関するビデオは、あなたがそれを始めるのに役立つはずです。これから学ぶことは次のとおりです(そのリンクからの引用)。

    • グループとして使用されるコンテンツタイプを作成する方法–他のもの(コンテンツおよび他のエンティティ)のコンテナを意味します
    • 選択したグループに投稿できるようにコンテンツタイプ(記事)を変更する方法
    • デフォルトでグループを作成するユーザーがグループ管理者になること
    • グループにメンバーを追加する方法
    • OGに付属するサンプル機能があること
    • そのグループ性とグループの満足度は実際には特別なフィールドによって管理されています
    • そのグループメンバーシップは、実際には(コンテンツがどのグループに所属するかを示す同じタイプの)フィールドでも管理されます。
  2. Organic Groups モジュールを(私と同じように)かなり複雑であると考える人は、可能な代替手段として(かなり新しい) Group モジュールを見てください。 (プロジェクトページから)それについての詳細:

    Organic Groupsは、コンテンツ自体をグループにすることを許可します。これは、必ずしも人々が望むことではありません。エンティティ参照フィールドを使用して、グループ(ノード、用語、...)とそのコンテンツ(ノード、用語、ユーザー、...)間の関係を追跡します。

    Groupsは代わりにグループをエンティティとして作成し、完全にフィールド化、拡張、エクスポートできるようにします。すべてのグループには、ユーザー、ロール、およびアクセス許可を関連付けることができます。グループは、あらゆるタイプのエンティティの親としても機能します。グループ自体もエンティティであるので、サブグループの作成は非常に簡単です。

    これまでのところD7のベータ版しかありませんが、その 使用統計 は、「新星」のようであることを示しているようです。そして最近、「重い」- 有機グループ モジュールの有効な代替手段としてさまざまな場面で言及されていると聞きました。

    Group モジュールは 問題2603136のコメント#2 で説明されているように Rules モジュールともうまく統合されています。

    ...すでに次の目的でルールを使用できます。

    • 新しいグループを追加
    • 新しいGroupMembershipを作成して保存します($ group-> addMember()と同等)
    • GroupTypeにGroupRoleを追加または削除します
    • 新しいGroupMembershipまたはGroupエンティティに反応する

    まだ行われていないのは、カスタムルールのアクションまたは条件です。グループの90%以上が純粋なエンティティAPIのCRUD操作であるため、すぐにすぐに達成できるカスタムルールコードはまだありません。

    追加できる便利なルールは次のとおりです。

    • グループのすべてのメンバーに電子メールを送信し、必要に応じてGroupRoleでフィルタリングします
    • 上記のリストのわかりやすいラベル:「メンバーが参加したグループ」は、「GroupMembershipエンティティが作成される」よりも簡単に聞こえる

    ...

    統合がすでに存在するか、パイプラインにある他のモジュールについては、 他のモジュールとの統合 とその「関連する問題」を参照してください。

:「特定の学校」(下記のコメントのとおり)は「特定のグループ」(完全なグループ)に最適であるように思えます上記の2つのモジュールのどちらを使用するか)。

1
Pierre.Vriens

プロファイルはロールの意味– Monish

おそらくあなたは以下を使って探求するべきです:

パスアクセス

Path_accessは、パスエイリアスに基づいてページを制限する手段を提供します。つまり、ワイルドカードを使用して、サイトのセクション全体から特定のuser roleグループをロックアウトできます。

0
No Sssweat