0

4.3.x を使用して、この本を参考にして Plone サイトを作成しています。

開発のためのプロフェッショナル プレーン

だから私は今4人のメンバーを持っています:

  1. マネジャー
  2. お客様
  3. 改札係
  4. スタッフ

役割に応じていくつかの権限をカスタマイズしましたが、特定の時点で修正され、適切な権限を設定する方法を理解できません。権限を変更したため、サイトに反映されないためです。ご覧のとおり、2つのオプションがあります次のコード:

mp = portal.tickets.manage_permission

mp(CancelAndReinstate, ['Manager', 'Staff'], 0)

mp('Access contents information', ['Manager','staff'], 0)

mp(permissions.ListFolderContents, ['Manager',], 1)

mp(permissions.View, ['Manager','Customer' ], 1)

portal.tickets.reindexObject()

これらの変更が私のサイトに反映されていないため、概念を理解できないため、0 と 1 は何をしますか。ユーザーの役割ごとに異なるメニューを作成したい。

4

3 に答える 3

1

「portal.tickets」が何なのかわかりませんが、サイトのコンテンツのようです。もしそうなら:あなたは間違った方法でやっています。Ploneサイトのルート以外の場所で、オブジェクトのセキュリティ構成を手動で更新するべきではありません。

おそらく必要なのは、「チケット」フォルダーとこのフォルダーの下のコンテンツのカスタム ワークフローです。

于 2016-03-08T08:52:14.460 に答える
0

の 3 番目の引数manage_permissionは、このアクセス許可が親フォルダーからも継承されるかどうかを示します。

def manage_permission(permission_to_manage, roles=[], acquire=0):
    """Change the settings for the given permission.

    If optional arg acquire is true, then the roles for the permission
    are acquired, in addition to the ones specified, otherwise the
    permissions are restricted to only the designated roles.
    """

( AccessControl/interfaces.py)

于 2016-03-08T07:08:24.397 に答える
0

Plone で権限を設定する最も一般的で率直な方法は、Generic Setup を使用して、rolemap.xml をデフォルト (またはアップグレード) プロファイルに追加することです。これに関する非常に優れた明確なドキュメントがhttp://docs.plone.org/develop/plone/security/custom_permissions.htmlにあります。

于 2016-12-06T17:51:21.827 に答える