6.9.1 アクセス制御に使用するインターフェース

アクセス制御は,文書空間オブジェクトに対してアクセス制御情報を設定することで,実行します。

アクセス制御情報ごとに,使用するインターフェースおよびメソッドについて説明します。

ACFlag
ACFlagは,文書空間オブジェクトのdbrProp_OwnerPermissionプロパティ,dbrProp_PrimaryGroupPermissionプロパティおよびdbrProp_EveryonePermissionプロパティとして設定します。このため,そのほかのプロパティの操作方法と同様に,DbjObjインターフェースなどを使用して操作します。
プロパティの操作については,「6.8.7 文書空間オブジェクトのプロパティの操作」を参照してください。
ローカルACL
ローカルACLは,文書空間オブジェクトのdbrProp_ACLプロパティに,VARRAY型のプロパティとして設定します。可変長配列の要素はACEです。
ACEの値の設定や取得には,パラメタクラスのDbjACEインターフェースが使用できます。また,ほかのVARRAY型のプロパティの要素と同様に,DbjPropSetインターフェースも使用できます。DbjACEインターフェースを使用すると,ACEの値の取得や設定が,DbjPropSetインターフェースを使用する場合よりも単純なコーディングで実行できます。
可変長配列の操作には,パラメタクラスのDbjVArrayインターフェースを使用します。また,可変長配列を文書空間オブジェクトのプロパティに設定する操作には,DbjObjインターフェースなどを使用します。
DbjACEインターフェースは,DbjFactory#createACEメソッドで取得します。DbjVArrayインターフェースは,DbjFactory#createVArrayメソッドなどで取得します。DbjObjインターフェースは,DbjDocSpace#createObjConnectionメソッドなどで取得します。
パブリックACL
パブリックACLは,独立した文書空間オブジェクトです。DbjDocSpace#createPublicACLメソッドで作成します。また,パブリックACLに設定するアクセス情報は,パブリックACLのローカルACLとして操作します。
文書空間オブジェクトをパブリックACLに指定したアクセス情報でアクセス制御するためには,文書空間オブジェクトからパブリックACLをバインドします。バインドしているパブリックACLのOIIDは,文書空間オブジェクトのdbrProp_PublicACLIdsプロパティに,VARRAY型のプロパティとして設定されています。可変長配列の要素は,パブリックACLのOIIDを設定した文書空間オブジェクトのプロパティ(dbrProp_ACLIdElemプロパティ)です。
パブリックACLのOIIDの設定や取得には,DbjPublicACLIdElmインターフェースが使用できます。また,ほかのVARRAY型のプロパティの要素と同様に,DbjPropSetインターフェースも使用できます。DbjPublicACLIdElmインターフェースを使用すると,パブリックACLのOIIDの取得や設定が,DbjPropSetインターフェースを使用する場合よりも単純なコーディングで実行できます。

以降の項では,次の操作について説明します。