2011-02-08 4 views
2

私は、ユーザAがブログAに書くことを許可するように制限するモジュール/テクニックを探しているが、ユーザーBは、ブログAとBで書くことができますが、Cでは書き込むことはできません。基本的に、柔軟性が必要です...しかし、それは困難であることが証明されています。誰もこれのようなものに遭遇しましたか?ああ...それはそれぞれのために異なる役割を使うことはできません。すべての作家が同じ役割を共有しています。ユーザAにブログAのブログ投稿を書くことができるが、ブログBはない

私の最初の考え...

  • それへの書き込みを許可されたもののためのユーザーリファレンスのフィールドが含まれているブログという名前のコンテンツタイプを作成します。
  • ユーザーが参照されているブログへのノード参照(ノードを選択するためにビューを使用)を持つブログ投稿コンテンツタイプを作成します。

これにより、ユーザーAはブログAのみに書き込むことができますが、ユーザーAがブログBのブログ投稿を開いて編集することはできません。何かご意見は?

答えて

0

http://drupal.org/project/forum_accessがどのように処理しているかを見てみることをお勧めします。そのユースケース(特定のフォーラムの表示、更新、作成権限のみ)は、あなたと非常によく似ています。たぶんhttp://drupal.org/project/tac_liteでも動作するかもしれませんが、ユーザがアクセスを制御するタクソノミーを制御できるかどうかはわかりません。

特に分類を使用してブログを分離している場合は、

だから、あなたは基本的にあなたが持っているすべてのブログのリストであるタクソノミーを持つことができます。次に、どのユーザーがどの用語を使用できるかを構成します。コンテンツを作成するときには、タクソノミーをアクセス権のある用語に限定します(カスタムコードが必要かもしれませんが、わかりません)。作成されると、彼らは "使用"することが許されている用語でのみ編集することができます。それはtac_liteを使ってすぐに動作するはずです。

+0

さて、私はtac_liteを使いこなしました。それは編集/削除/表示の権限に役立つようです。しかし、作成権限であまり役に立ちません。しかし、私はそれをサポートするために、素早く汚れたカスタムモジュールを作成しました。だから、今働いているようだ! – mikesir87

0

RBACモデルを使用したくないので、すべての権限を保持するテーブルを作成して、必要と思われる人に権限を割り当ててください。あなたはまた、その後(1、 '書き込みA')、(2 '書き込みB')...

権限(ID、アクション)

例:許可テーブルは次のようにすることができあなたのユーザーを指定するコースのユーザーテーブルがあります。

user_roles(user_idは、permission_id)

そして、あなたが助け:)希望のような任意のユーザーにあなたにすべての権限を渡すことができます。

は最後に、次のようなuser_rolesテーブルを作成します。

EDIT:これはdrupalに関することです。私の答えはデータベースモデルです。申し訳ありません。

+0

haha​​ ...すべての良い。思考のおかげで! – mikesir87

関連する問題