Upload
ericsagnes
View
562
Download
5
Embed Size (px)
DESCRIPTION
今回の課題は、「権限」となります。 eZ Publishの権限システムを紹介します。 まずは、権限システムの要素である「ユーザ」、「ロール」、「ポリシー」と「ファンクション」を 紹介します。 それから、権限設定のベストプラクティスとユースケースも紹介します。
Citation preview
eZ Publish 勉強会~ 7 月~
権限システム
ご挨拶
● サニエ エリック● twitter/identica : @ericsagnes● サイト http://clina.jp/
eZ Publish CE 2012.5
eZ Publish CE 2012.5
● バグフィックス● ワークフロー、 DB 、 OAuth
● インストールの新デザイン● エクステンション更新
● ezautosave 1.0.0● ezcomments 1.4.0● ezfind 2.7.0● ezie 1.4.0● ezjscore 1.5.0● ezoe 5.5.0
権限システム1:可能性
権限システムでできる事
● 行動別で権限設定● 言語別で権限設定● コンテンツ別で権限設定● ユーザグループ又は、ユーザ毎の権限割り当て● 複雑な編集ワークフロー● GUI で権限プロフィール(ロール)作成、編集と削除
権限システム2:紹介
基本システム
● ロールベースシステム
● ロールはユーザに割り当てられる
● ロール割り当ての際に制限付けれます
● ホワイトリストベースシステム
基本システム:図
基本システム
● ユーザ● ユーザグループでユーザをまとめられます● ユーザグループにはユーザグループを作られます
● ロール● ロールはポリシーの組み合わせ● 一つのポリシーは CMS の一つの機能にあたります● 管理画面で GUI で編集と作成できます
基本システム:図
eZ Publish の特徴:ユーザとは
● eZ Publish でユーザは一般コンテンツと同様なノードとなります
● 「ユーザアカウント」属性を持ったオブジェクトは有効なユーザとなります
● 管理画面の「コンテンツツリー」と「ユーザ管理」同じノードの子ノードとなります
ポリシー
● 一つのポリシーは CMS の一つの機能に当たります
● ポリシーに制限を付ける事ができます
● ポリシーで指す CMS の機能はモジュールのファンクションとなります
モジュール、ビューとファンクション
● eZ Publish の機能はビューと呼ばれます● モジュールは関連するビューのまとまり
● content モジュール、 edit ビュー コンテンツ編集● user モジュール、 login ビュー ユーザログイン
● ファンクションはお互い必要とするビューをまとめます● user モジュールの login ファンクションは login と
logout ビューをまとめます
モジュール、ビューとファンクション
● ポリシーを設定する際に、まずモジュールを設定し、ファンクションを設定します
● ファンクション毎に制限項目が異なります
注意 1
● ビューとモジュールのドキュメントはあります(英語)が、ファンクションのドキュメントはありません
● 勇気あれば、ファンクションの定義は./kernel/ モジュール名 /module.phpで確認できます
注意 2
● 属性単位で制限を掛ける事はできません
● ロールとポリシーはコンテンツと同じく、データベースに保存されます
● 標準でインポート・エクスポート機能はありません(外部エクステンション利用)
ロールの設定
● 管理画面で行う
● 「ユーザ管理」タブの左メニュー「ロールとポリシー」
● ロールを選択すれば、ポリシーの編集とロールの割り当てできます
eZ Publish の権限システム:利点
● ユーザやユーザグループに複数なロールを当てることができます
● 一つのユーザは複数のユーザグループに所属できます(複数配置先機能)
● カスタムニーズに応用できる権限システム
ベストプラクティス
● ロールはできるだけ粒度に
● 一つの役に一つのロールより、複数なロールを足して役を作る
● コンテンツ系の制限はポリシーレベルでなく、ロール割り当ての際につける
ユースケース 1 :新聞サイト
● 新聞サイトを eZ Publish で実装します● 「政治」、「経済」、「スポーツ」などのコンテンツカテゴリがあります
● カテゴリ毎に編集部があります● 各カテゴリに「編集者」と「承認者」が存在します
● 承認者は編集権限を持っています● 複数なカテゴリに所属するユーザもいます
ユースケース 1 :図
ユースケース 1 :利点
● 二つのロールで複数カテゴリー対応
● カテゴリー追加はとても簡単
● ユーザの複数部署対応
● ユーザの移動は簡単
ユースケース 2 :複雑ワークフロー
● 編集ワークフローは数ステップに別けられています:● 文言作成、文言直し、イメージ追加、コンテンツ翻訳、チェック1、チェック2&公開
● 各ステップにロールが存在します● コンテンツフローはオブジェクトステートで管理する
ユースケース 2 :図
ユースケース 2 :利点
● 複雑ワークフロー対応● ワークフロー変更は簡単● 複数部署、カテゴリに対応は簡単● 他のワークフローと組み合わせられる
まとめ
● ユーザ、ユーザグループは一般ノードです● ポリシー毎に制限掛けられます● 同じロールを違う制限で割り当てる事ができます
● オブジェクトステートと組み合わせれば、複雑ワークフローを対応
● カスタムモジュールにカスタムファンクションを設定できます
質問