28
 eZ Publish 勉強会~ 7 月~ 権限システム

eZ Publish 2012年7月勉強会 - 権限システム

Embed Size (px)

DESCRIPTION

今回の課題は、「権限」となります。 eZ Publishの権限システムを紹介します。 まずは、権限システムの要素である「ユーザ」、「ロール」、「ポリシー」と「ファンクション」を 紹介します。 それから、権限設定のベストプラクティスとユースケースも紹介します。

Citation preview

Page 1: eZ Publish 2012年7月勉強会 - 権限システム

   

eZ Publish 勉強会~ 7 月~

権限システム

Page 2: eZ Publish 2012年7月勉強会 - 権限システム

   

ご挨拶

● サニエ エリック● twitter/identica : @ericsagnes● サイト http://clina.jp/

Page 3: eZ Publish 2012年7月勉強会 - 権限システム

   

eZ Publish CE 2012.5

Page 4: eZ Publish 2012年7月勉強会 - 権限システム

   

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

Page 5: eZ Publish 2012年7月勉強会 - 権限システム

   

権限システム1:可能性

Page 6: eZ Publish 2012年7月勉強会 - 権限システム

   

権限システムでできる事

● 行動別で権限設定● 言語別で権限設定● コンテンツ別で権限設定● ユーザグループ又は、ユーザ毎の権限割り当て● 複雑な編集ワークフロー● GUI で権限プロフィール(ロール)作成、編集と削除

Page 7: eZ Publish 2012年7月勉強会 - 権限システム

   

権限システム2:紹介

Page 8: eZ Publish 2012年7月勉強会 - 権限システム

   

基本システム

● ロールベースシステム

● ロールはユーザに割り当てられる

● ロール割り当ての際に制限付けれます

● ホワイトリストベースシステム

Page 9: eZ Publish 2012年7月勉強会 - 権限システム

   

基本システム:図

Page 10: eZ Publish 2012年7月勉強会 - 権限システム

   

基本システム

● ユーザ● ユーザグループでユーザをまとめられます● ユーザグループにはユーザグループを作られます

● ロール● ロールはポリシーの組み合わせ● 一つのポリシーは CMS の一つの機能にあたります● 管理画面で GUI で編集と作成できます

Page 11: eZ Publish 2012年7月勉強会 - 権限システム

   

基本システム:図

Page 12: eZ Publish 2012年7月勉強会 - 権限システム

   

eZ Publish の特徴:ユーザとは

● eZ Publish でユーザは一般コンテンツと同様なノードとなります

● 「ユーザアカウント」属性を持ったオブジェクトは有効なユーザとなります

● 管理画面の「コンテンツツリー」と「ユーザ管理」同じノードの子ノードとなります

Page 13: eZ Publish 2012年7月勉強会 - 権限システム

   

ポリシー

● 一つのポリシーは CMS の一つの機能に当たります

● ポリシーに制限を付ける事ができます

● ポリシーで指す CMS の機能はモジュールのファンクションとなります

Page 14: eZ Publish 2012年7月勉強会 - 権限システム

   

モジュール、ビューとファンクション

● eZ Publish の機能はビューと呼ばれます● モジュールは関連するビューのまとまり

● content モジュール、 edit ビュー コンテンツ編集● user モジュール、 login ビュー ユーザログイン

● ファンクションはお互い必要とするビューをまとめます● user モジュールの login ファンクションは login と

logout ビューをまとめます

Page 15: eZ Publish 2012年7月勉強会 - 権限システム

   

モジュール、ビューとファンクション

● ポリシーを設定する際に、まずモジュールを設定し、ファンクションを設定します

● ファンクション毎に制限項目が異なります

Page 16: eZ Publish 2012年7月勉強会 - 権限システム

   

注意 1

● ビューとモジュールのドキュメントはあります(英語)が、ファンクションのドキュメントはありません

● 勇気あれば、ファンクションの定義は./kernel/ モジュール名 /module.phpで確認できます

Page 17: eZ Publish 2012年7月勉強会 - 権限システム

   

注意 2

● 属性単位で制限を掛ける事はできません

● ロールとポリシーはコンテンツと同じく、データベースに保存されます

● 標準でインポート・エクスポート機能はありません(外部エクステンション利用)

Page 18: eZ Publish 2012年7月勉強会 - 権限システム

   

ロールの設定

● 管理画面で行う

● 「ユーザ管理」タブの左メニュー「ロールとポリシー」

● ロールを選択すれば、ポリシーの編集とロールの割り当てできます

Page 19: eZ Publish 2012年7月勉強会 - 権限システム

   

eZ Publish の権限システム:利点

● ユーザやユーザグループに複数なロールを当てることができます

● 一つのユーザは複数のユーザグループに所属できます(複数配置先機能)

● カスタムニーズに応用できる権限システム

Page 20: eZ Publish 2012年7月勉強会 - 権限システム

   

ベストプラクティス

● ロールはできるだけ粒度に

● 一つの役に一つのロールより、複数なロールを足して役を作る

● コンテンツ系の制限はポリシーレベルでなく、ロール割り当ての際につける

Page 21: eZ Publish 2012年7月勉強会 - 権限システム

   

ユースケース 1 :新聞サイト

● 新聞サイトを eZ Publish で実装します● 「政治」、「経済」、「スポーツ」などのコンテンツカテゴリがあります

● カテゴリ毎に編集部があります● 各カテゴリに「編集者」と「承認者」が存在します

● 承認者は編集権限を持っています● 複数なカテゴリに所属するユーザもいます

Page 22: eZ Publish 2012年7月勉強会 - 権限システム

   

ユースケース 1 :図

Page 23: eZ Publish 2012年7月勉強会 - 権限システム

   

ユースケース 1 :利点

● 二つのロールで複数カテゴリー対応

● カテゴリー追加はとても簡単

● ユーザの複数部署対応

● ユーザの移動は簡単

Page 24: eZ Publish 2012年7月勉強会 - 権限システム

   

ユースケース 2 :複雑ワークフロー

● 編集ワークフローは数ステップに別けられています:● 文言作成、文言直し、イメージ追加、コンテンツ翻訳、チェック1、チェック2&公開

● 各ステップにロールが存在します● コンテンツフローはオブジェクトステートで管理する

Page 25: eZ Publish 2012年7月勉強会 - 権限システム

   

ユースケース 2 :図

Page 26: eZ Publish 2012年7月勉強会 - 権限システム

   

ユースケース 2 :利点

● 複雑ワークフロー対応● ワークフロー変更は簡単● 複数部署、カテゴリに対応は簡単● 他のワークフローと組み合わせられる

Page 27: eZ Publish 2012年7月勉強会 - 権限システム

   

まとめ

● ユーザ、ユーザグループは一般ノードです● ポリシー毎に制限掛けられます● 同じロールを違う制限で割り当てる事ができます

● オブジェクトステートと組み合わせれば、複雑ワークフローを対応

● カスタムモジュールにカスタムファンクションを設定できます

Page 28: eZ Publish 2012年7月勉強会 - 権限システム

   

質問