So-net無料ブログ作成
検索選択

The Zope 3 Developer's Handbook の 16章  [Zope 3]

http://www.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/Zope3Book/secureobjects.html
Zope 3 のセキュリティ設定に関する章ですが、本の内容とはちょっと離れて説明することにします。

Zope 3 のセキュリティ設定に関する単位として
1.Permission
2.Role
3.Principal
の3つのものがあります。

Permission は、Zope2 の Permission と同じで、許可・不許可の単位みたいなものです。
この章では、configure.zcml で
・book.messageboard.View(表示)
・book.messageboard.Add(追加)
・book.messageboard.Edit(編集)
・book.messageboard.Delete(削除)
という4つの Permission を定義しています。
よりたくさんの Permission を定義して、インターフェース毎に別々の Permission を
付けていけば、権限設定がより細かく出来ることになります。

Principal は、Zope 2 とか、Linux でいうところのユーザーに相当するものですが、
PAU の Group Folder Plugin http://blog.so-net.ne.jp/nakagami/2005-11-21
のように、1つの Principal が複数のユーザーを表している場合もあります。

Role も Zope 2 の Role と同じで権限の単位みたいなものです。

以上をふまえ、Zope 3 のセキュリティの設定とは
・Permission を定義 (confiugre.zcml の permission ディレクティブ)
・インターフェースを Permission に関連付ける (configure.zcml の require ディレクティブ)
・Permission を Role に与える
・その Role を Principal に与える
という操作をすることになります。

Zope3Book では、Role の設定も、Principal の設定も configure.zcml にしてますが、
Zope 3.1 では、Site に Local Utility で Role や Principal が定義・設定できるので、 configure.zcml をいじるっていうのは(やれば出来ますが)あんまりないような気がします。
Permission も Site に追加できるみたいですけど、今のところ良い使い道を思い付きません。

以上、ゴチャゴチャしてますが、考え方は Zope2 と変わりないので、
Zope2 でセキュリティの設定をしたことがある人は分かってもらえる気がします。

(参考)Zope3 の PAU の設定
http://blog.so-net.ne.jp/nakagami/2005-11-17
http://blog.so-net.ne.jp/nakagami/2005-11-21


nice!(0)  コメント(2)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 2

しみずかわ

configure.zcmlへのRole設定等は、毎回同じようなインスタンスを作る必要がある時とか、そういった設定もバージョン管理したいとかいう時に使いそうですね。
by しみずかわ (2005-12-27 14:19) 

nakagami

>しみずかわさん
なーる。いろんな使い道があるってことですね。
でも、私ならパッケージの configure.zcml はいじりたくないですが・・・
by nakagami (2005-12-27 14:25) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0