uCosminexus DocumentBroker Version 5 概説

[目次][用語][索引][前へ][次へ]

3.8.6 オブジェクトの操作とアクセス制御情報の関係

ここでは,オブジェクトの操作とアクセス制御情報の関係について説明します。

<この項の構成>
(1) バージョン管理に関する操作
(2) 文書間リンクに関する操作
(3) フォルダへの関連づけに関する操作
(4) 一覧取得メソッドを使用する操作
(5) マルチレンディション管理に関する操作

(1) バージョン管理に関する操作

バージョン管理をしている文書の場合,一つのバージョン付き文書は,複数のバージョンなし文書によって構成されています。一つのバージョン付き文書を操作する場合,バージョン付き文書のトップオブジェクトに設定されたパーミッションと,バージョンなし文書のトップオブジェクトに設定されたパーミッションが必要なときがあります。

バージョン付きオブジェクトとバージョンなしオブジェクトに設定されているアクセス制御情報について,次の図に示します。

図3-31 バージョン付きオブジェクトとバージョンなしオブジェクトに設定されているアクセス制御情報

[図データ]

ここでは,バージョン付き文書をバージョン付きオブジェクト,バージョンなし文書をバージョンなしオブジェクトとして,これら二つのオブジェクトにパーミッションが必要な操作について説明します。

バージョンなし文書オブジェクトは,バージョン付き文書オブジェクトの一つのバージョンに相当します。ユーザAがバージョン付き文書オブジェクトの1バージョンを削除しようとした場合,まず,バージョン付き文書オブジェクトに対して基本バージョン管理権が必要です。しかし,バージョンを削除することは実際には一つのバージョンなし文書オブジェクトを削除することと同じことになります。したがって,この場合は,バージョン付き文書オブジェクトの基本バージョン管理権のほかに,バージョンなし文書オブジェクトの基本オブジェクト削除権が必要になります。

バージョンなしオブジェクトに対して表3-21に示した以外のメソッドをコールする場合,バージョン付きオブジェクトのパーミッションは必要ありません。

(2) 文書間リンクに関する操作

文書間リンクを設定している文書間では,メソッドによってはリンク元文書とリンク先文書に対して適切なパーミッションが与えられている必要があります。

メソッドをコールするユーザがリンク元文書とリンク先文書に対して必要なパーミッションを次の表に示します。

表3-22 リンク元文書とリンク先文書に対して必要なパーミッション

リンクに関係する操作(メソッド) リンク元文書に必要なパーミッション リンク先文書に必要なパーミッション
リンクの作成
  • link
基本リンク権
(PRIM_LINK)
基本プロパティ参照権
(PRIM_READ_PROPS)
リンク情報の取得
  • getRelList
基本プロパティ参照権
(PRIM_READ_PROPS)
基本プロパティ参照権
(PRIM_READ_PROPS)
リンクの削除
  • unlink
  • unlinkByLinkId
基本リンク権
(PRIM_LINK)
リンクプロパティの設定
  • writeProperties
基本リンク権
(PRIM_LINK)
(凡例)
−:パーミッションは必要ありません。
注※
リンク先文書のプロパティを取得しない場合は不要です。

(3) フォルダへの関連づけに関する操作

直接型や参照型のリンクによってフォルダと関連づけている文書やフォルダでは,フォルダを表すオブジェクトと関連づけられるフォルダまたは文書を表す二つのオブジェクトに対して,適切なパーミッションを与えられている必要があります。

例えば,フォルダオブジェクトに対して,バージョンなし文書オブジェクトおよびバージョン付き文書オブジェクトとのリンクを設定する場合に必要なアクセス制御情報が設定されているオブジェクトは,次の図のようになります。

図3-32 フォルダとフォルダに関連づけられているオブジェクトに設定されているアクセス制御情報

[図データ]

フォルダを操作する時,操作の種類によってはフォルダに関連づけられている文書またはフォルダに対してもアクセス権が必要な場合があります。

メソッドをコールするユーザがフォルダに対して必要なパーミッションとフォルダに関連づけられる文書またはフォルダに対して必要なパーミッションを次の表に示します。

表3-23 フォルダとフォルダと関連づけられている文書またはフォルダに対して必要なパーミッション(フォルダを操作する場合)

リンクに関係する操作(メソッド) フォルダに必要なパーミッション フォルダに関連づけられるオブジェクトに必要なパーミッション
フォルダとオブジェクトの関連づけ
  • link
基本リンク権
(PRIM_LINK)
基本プロパティ参照権
(PRIM_READ_PROPS)
フォルダとオブジェクトの関連づけの解除
  • unlink
  • unlinkByLinkId
基本リンク権
(PRIM_LINK)
リンクのプロパティの参照
  • readProperties
基本プロパティ参照権
(PRIM_READ_PROPS)
リンクのプロパティの更新
  • writeProperties
基本リンク権
(PRIM_LINK)
フォルダと関連づけている要素の一覧取得
  • getChildList
基本プロパティ参照権
(PRIM_READ_PROPS)
基本プロパティ参照権
(PRIM_READ_PROPS)
(凡例)
−:パーミッションは必要ありません。
注※
フォルダと関連づけられるオブジェクトのプロパティを取得しない場合は不要です。また,フォルダと関連づけられるオブジェクトのプロパティを取得する場合に,基本プロパティ参照権が設定されていないオブジェクトについては,一覧として取得されません。

フォルダに関連づけられているオブジェクトに対して表3-24に示した以外のメソッドがコールされた場合,フォルダであるオブジェクトのパーミッションは必要ありません。

(4) 一覧取得メソッドを使用する操作

一覧取得メソッドとは,get〜Listメソッドなどのメソッドです。クラスライブラリのオブジェクトがほかのクラスライブラリのオブジェクトとリンクやバージョン管理機能によって関連づけられている場合に,その関連づけられているオブジェクトの一覧を取得します。

一覧取得メソッドには,メソッドで設定されたデフォルトの情報だけを取得する以外に,明示的に指定した接続先オブジェクトのプロパティが取得できるメソッドがあります。これらのメソッドで,接続先のオブジェクトのプロパティを取得する場合は,接続先オブジェクトに基本プロパティ参照権が必要です。このパーミッションが設定されていない場合は,一覧に取得されません。なお,デフォルトの情報だけを取得する場合は,接続先のオブジェクトにパーミッションは必要ありません。これは,ユーザプログラムの内部処理に使うことを想定しています。システムを使用するエンドユーザに対してプロパティを表示して文書一覧を表示する場合などには,接続先のオブジェクトのプロパティを取得するメソッドを使用して,アクセス権があるものだけを表示するといった運用方法をお勧めします。

また,readPropertiesメソッドを使用して,該当するプロパティを指定した場合も,接続先オブジェクトの個数は取得できます。ただし,このメソッドでは,接続先オブジェクトに対するパーミッションに関係なく,接続されているすべてのオブジェクトの個数が取得されます。

(5) マルチレンディション管理に関する操作

マルチレンディション管理をしている文書の場合,レンディションの操作は,そのレンディションを含むバージョンなし文書オブジェクトのトップオブジェクトにに対して設定されているアクセス権に従って制御されます。