8

特定のユーザーに特定のノードに編集権限を与えるにはどうすればよいですか?

「Student」という名前のユーザーロールがあります。複数のユーザーがその役割を持っており、ノードを編集できるのはそのうちの数人だけです。どうすればこれを実現できますか?

4

5 に答える 5

14

いくつかのユースケースを取り上げ、それらをどのように解決するかを説明します。

  1. ユーザーのカテゴリのすべてのメンバーが特定のタイプのノードを編集できる場合
    • そのユーザーのサブセット (Emyr が提案したように「スーパー学生」) に新しい役割を作成し、Drupal のコア許可システムを介して「タイプのコンテンツの編集」許可を付与します (ノード アクセス モジュールは必要ありません)。
  2. ユーザーのカテゴリのすべてのメンバーが特定のノードを編集できる場合
  3. 一部のユーザーは一部のノードを編集できます。すべてのノードを編集できる「エリート」ユーザー グループは存在せず、すべてのメンバーが同じノードを編集できるわけではありません。
    • これには、Node Access や Content Access with ACL などのノード アクセス モジュールが必要です。ノードを編集するためのアクセス権を他のユーザーに付与する権限を持つ管理ユーザーも必要です。
  4. ユーザーが作成したノードを編集するためのアクセス権を他のユーザーに付与できるようにします。
    • 私は最近、これをユーザー参照 CCK フィールドとNode Access User Referenceで実装しました。コア権限システムを介して自分のノードを編集する権限をユーザーに付与すると、他のユーザーをユーザー参照フィールドに追加できます。私の場合、作成者にはその許可が与えられておらず、フィールドのデフォルト値を作成者のユーザー ID に設定しました。これにより、ユーザーはノードを編集できなくなります。

これらはすべて、コンテンツに分類がないことを前提としています。コンテンツとユーザーが十分に整理されている場合は、分類法またはオーガニック グループに基づくノード アクセス モジュールを利用できる場合があります。

于 2010-02-18T20:20:00.780 に答える
3

このような異常なアクセス許可の種類については、小さなカスタム モジュールが最適な方法であることが常にわかっています。一般的なノード アクセス モジュールは、多くの異なるケースで役立つように十分に一般的である必要があります。

この特定のものについては、hook_nodeapi を実装するモジュールを作成し、$op==prepare でユーザー ID をユーザー参照と照合し、一致しない場合はアクセス拒否ページに drupal_goto を実行できます。

于 2010-02-18T14:01:31.763 に答える
2

Flexi Accessでこれを行うことができます。特定のユーザーにノードの「更新」権限を与えると、そのユーザーはノードを編集できるようになります。

その他のオプションについては、次のページを参照してください:ノード アクセス モジュールの概要@ Drupal.org。

于 2012-11-20T05:09:24.367 に答える
1

Node AccessまたはContent Accessを試しましたか?

于 2010-02-18T20:00:51.457 に答える
0

サブセットのみがノードを編集できるようにする必要がある場合は、追加の「スーパー スチューデント」ロールが必要です。

ノード アクセスモジュールは、ノードに適切な権限を設定するのに役立ちます。以下は、そのプロジェクト ページからの抜粋です。

... メニュー、メニュー項目、ノード、および管理システムとヘルプ システムへのセキュリティ統合のための役割とユーザー固有のセキュリティ権限を提供します。この一連のモジュールをコミュニティに提供して、スイートの有用性を共有し、コミュニティを巻き込んで追加のサポート、テスト、およびモデレーションを提供したいと考えています。システムのすべてのセクション (ノード、メニュー、メニュー項目) でパーミッション管理の使いやすさが一貫していることを保証するために、特別な注意が払われました。また、各セキュリティ モジュールはカスケード セキュリティ スキームを使用して、グローバル セキュリティと、個々のアイテムのセキュリティ モデルの例外をオーバーライドまたは定義するオプションを許可します。

于 2010-02-18T13:53:30.173 に答える