Personal tools
You are here: Home なごぶろ Ploneフォルダでパーミッションのカスケード
About this blog
なごすいぶろぐ。「すべてはなごすいのために」。
Categories
COREBlog2 (31)
Zope (61)
Linux (26)
Misc (47)
Nagosui (11)
ReadingCOREBlog (7)
Plone (81)
Python (20)
Turbogears (18)
COREBlog1 (30)
moblog (5)
Django (12)
 
Document Actions

Ploneフォルダでパーミッションのカスケード

zopeのMLで特定のフォルダ以下のAnonymousアクセスを禁止したいという旨のメールが流れていて、具体的にどうすればいいのか調べてみたら、plone.orgのドキュメントに発見ヾ(゜∀゜)/

何か同じようなのが2つあるんだけど、以下、リミによるHowto(http://plone.org/documentation/how-to/make-permission-settings-inherit)の超訳です。

Making permissions cascade/inherit in a hierarchy

あるフォルダを非公開とした場合に、そのフォルダに含まれるコンテンツも非公開にしたい場合があります(デフォルトではフォルダを非公開にしてもコンテンツは公非公開になりません)。これを可能にするにはどうしたらよいでしょうか。

このようなフォルダ構造があったとします。

root

  • public folder
  • private folder
    • document 1
    • subfolder
      • document 2

ここでprivate folderをプライベート状態に設定したとしても、デフォルトではdocument1, document2, subfolderは見えてしまいますし、誰でもアクセスできてしまいます。

privateフォルダ配下にあるvisibleなものへのアクセス(上記の例ではdocument1, document2, subfolder)を拒否するにはデフォルトのワークフローを変える必要があります。

  1. ZMIにてPloneへ入り、portal_workflowをクリックする
  2. コンテンツタブをクリックし、plone_workflowを選ぶ
  3. Stateタブをクリックし、visible状態を選ぶ
  4. Permissionsタブをクリックすると、画面にいくつかアクセスコントロールが並んでいるのが見える
  5. Anonymousに対してAccess contents informationとViewのチェックをはずす(結果としてAnonymousに対するチェックはすべて無しになるのかな)
  6. 3~5の手順をfolder_workflowに対しても同様に行う

これですべてのvisibleなオブジェクトはパーミッションを親フォルダから継承する事になります。つまり、親フォルダがプライベートならば、その配下にあるオブジェクトはAnonymousからはアクセスできないようになります。

超訳ここまで--------------------------------------------------

ただし、もう一つの同様のHowtoを読むと、これではこのワークフローは既存のオブジェクトには有効になっていないということです。ということで、上記の手順を踏んだ後に、portal_workflowの画面一番下にある、「Update security settings」というボタンを押します。これでPlone上のすべてのオブジェクトに、変更したワークフローが適用されたことになります。めでたしめでたし。

Category(s)
Plone Plone
The URL to Trackback this entry is:
http://nagosui.org/Nagosui/COREBlog2/making-permission-cascade/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
Enter the word