ヘッダーをスキップ
Oracle Access Managerカスタマイズ・ガイド
10g(10.1.4.2.0)
E05807-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

C アイデンティティ・システム・ナビゲーションの構成

アイデンティティ・システムには、4つのタイプのユーザー(エンドユーザー、委任管理者、委任ID管理者およびマスター管理者)をサポートするインタフェースが付属しています。それぞれのユーザー・タイプは異なる権限を持ち、使用できるOracle Access Manager機能のレベルが異なります。ユーザーがOracle Access Managerにログインすると、そのユーザー・タイプに対して定義されている一連の画面(ナビゲーション・システム)が表示されます。

このシステムを変更すると、次のことができます。

この付録では、ナビゲーション・システムを制御する構成ファイルであるobnavigation.xmlおよびその使用方法について説明します。

C.1 概要

アイデンティティ・システムは、OutPutXMLを構築するためのガイドとしてobnavigation.xmlファイルを使用します。PresentationXMLはOutPutXMLを使用して、Oracle Access Managerの各ページの一番上に表示されるナビゲーション・バーを構築します。これには、アプリケーション名、「ヘルプ」ボタン、「ログアウト」ボタン、およびアプリケーション内の他のモジュールを選択するための各種タブが含まれます。この情報の表示方法の最終的な定義はコースのスタイルシートによって提供されますが、その内容は「obnavigation.xmlファイル」で説明されているファイルによって決定されます。スタイルシートとの対話について詳しく説明されています。

C.2 obnavigation.xmlファイル

アイデンティティ・システムをインストールした場合、Identity_install_dirディレクトリに配置します。たとえば、次の場所に配置します。

/var/coreid/identity/oblix (UNIX)

または、

C:/coreid/identity/oblix (Windows NT)

obnavigation.xmlファイルは、この下の次のディレクトリにインストールされます。

Identity_install_dir/identity/oblix/apps/common/bin

このファイルはXML形式で提供されます。XML形式のスキーマについては、「ファイル・スキーマ」に示しています。

C.2.1 ファイルの内容

すべての要素タイプが示されたインストール済のobnavigation.xmlファイルの一部を次に示します。例の後の表で、各要素について説明します。

   <?xml version="1.0" ?>
               <ObNavigation defaultUserType="systemAdmin">
               <ObHierarchy name="oblix" elementName="ObNavbar"
                  userType="endUser" obdisplayName="End User"
                     bgcolor="CCCC66">
               <ObCollection name="ObMisc">
                     <ObLink appName="common" name="T1help" />
                     <ObLink appName="common" name="T1about" />
                     ObLink appName="common" name="T1logout" />
               </ObCollection>
               <ObCollection name="ObApps">
                     <ObLink appName="common"
                           name="userservcenter_application_info"
                           elementName="ObApplication">
                        <ObCollection name="ObTitle">
                        <ObLink appName="userservcenter"
                                    name="T1TABusermanager" />
                        </ObCollection>
                        <ObCollection name="ObFunctions">
                           <ObLink appName="userservcenter"
                                 name="MyProfile" />
                           <ObLink appName="userservcenter"
                                 name="Report">
                              <ObCollection name="ObReportFunctions">
                                 <ObLink appName="userservcenter"
                                    name="generateReport" />
                                 <ObLink appName="userservcenter"
                                    name="viewPredefinedReports" />
                              </ObCollection>
                           </ObLink>
                           <ObLink appName="userservcenter"
                                 name="Workflow">
                              <ObCollection
                                       name="ObWorkflowFunctions">
                                 <ObLink appName="userservcenter"
                                    name="wfOutgoingRequest" />
                              </ObCollection>
                           </ObLink>
                        </ObCollection>
                  </ObLink>
                  ...
                  <ObLink appName="common"
                           name="groupservcenter_application_info"
                           elementName="ObApplication">
                  ...
                  <ObLink appName="common"
                           name="objservcenter_application_info"
                           elementName="ObApplication">
                  ...
                  <ObLink appName="common"
                           name="corpdir_application_info"
                           elementName="ObApplication">
                  ...
               </ObCollection>
               ....
               </ObHierarchy>
               ....
               </ObNavigation>

このファイル内の要素は次のとおりです。

表C-1 ObNavigation.xmlファイル

要素名 説明

ObNavigation

これはXML構造のルート要素です。

この要素には1つの属性が含まれます。

defaultUserType: これはデフォルト・ユーザー・タイプを指定します。属性に入力する値は、ファイルの他の部分に定義されているユーザー・タイプの1つと一致している必要があります。

ObNavigation要素には、1つ以上のObHierarchy要素が含まれます。

<ObNavigation defaultUserType=

"systemAdmin">

...

</ObNavigation>

ObHierarchy

ObHierarchy要素は、ユーザー・タイプのナビゲーション構造を、ネストされた階層として定義します。

この要素には5つの属性が含まれます。

  • name: 将来の拡張用に予約されている属性で、現在は使用されていません。

  • elementName: ナビゲーション情報を含むOutput XML内の要素名。インストール済のスタイルシートでは、その値がObNavBarであることが期待されます。この値は、スタイルシートを拡張的に変更する場合以外は変更しないでください。

  • userType: この階層を使用するユーザー・タイプを指定する一意の値。

  • obdisplayName: このユーザー・タイプの表示名。

  • bgcolor: 将来の拡張用に予約されている属性で、現在は使用されていません。

ObHierarchy要素には、1つ以上のObCollection要素が含まれます。

<ObHierarchy name="oblix" elementName="ObNavbar" userType="endUser" obdisplayName="End User" bgcolor="CCCC66">

...

</ObHierarchy>

ObCollection

ObCollection要素は、リンクのグループです。コレクションそのものはナビゲーション構造を強制しません。これは、共通のテーマを持つリンク同士をグループ化するために使用される概念的な要素です。

この要素には1つの属性が含まれます。

  • name: これはOutput XML内の要素名と一致しています。インストール済のスタイルシートでは、これがObMiscまたはObAppsであることが期待されます。

ObCollection要素には、1つ以上のObLink要素が含まれます。

<ObCollection name="ObMisc">

...

</ObCollection>

ObLink

ObLink要素はリンクを表します。リンクとは、Oracle Access Manager内の特定の機能へのユーザー・ナビゲーションを可能にする情報のセットです。

一部(すべてではない)のObLink要素は、ObCollection要素を含むことを許可されています。つまり、リンクは、直接機能を提供するのではなく、ユーザーにナビゲーション用の別のリンク・セットを表示します。

各ObLinkには次の属性が含まれます。

  • appNameおよびname: これらはペアとして指定する必要があります。つまり、指定したアプリケーション内で指定した機能の使用を許可するということです。アイデンティティ・システム内には、事前定義された有効な組合せの限定されたセットがあります。完全なリストは「有効なObLinkの組合せ」の表を参照してください。このリストでは、ネストされたObCollection要素を含むことを許可されているname値は、*でマークされています。

  • elementName: この要素はオプションです。この要素は、ネストされたObCollection要素を含むObLink要素を説明するものです。

<ObLink appName="common"

name=

"userservcenter_

application_info"

elementName="ObApplication">

...

</ObLink>


C.2.2 ファイル・スキーマ

obnavigation.xmlファイルの論理構造を説明するスキーマを次に示します。このスキーマ定義は、Oracle Access Managerインストール・ファイルの一部としては提供されません。XMLスキーマ構造の詳細は、付録A「XMLの背景」のリファレンスを参照してください。

<?xml version="1.0" encoding="UTF-8"?>
               <xsd:schema
                  xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
                  elementFormDefault="qualified">
               <xsd:element name="ObCollection">
                  <xsd:complexType>
                        <xsd:sequence>
                           <xsd:element ref=
                              "ObLink" maxOccurs="unbounded"/>
                        </xsd:sequence>
                        <xsd:attribute name="name" use="required"
                              type="xsd:string"/>
                  </xsd:complexType>
               </xsd:element>
               <xsd:element name="ObHierarchy">
                  <xsd:complexType>
                        <xsd:sequence>
                           <xsd:element ref=
                              "ObCollection" maxOccurs="unbounded"/>
                        </xsd:sequence>
                        <xsd:attribute name="name" type="xsd:string"
                              use="required"/>
                        <xsd:attribute name="elementName"
                              type="xsd:string" use="required"/>
                        <xsd:attribute name="userType"
                              type="xsd:string" use="required"/>
                        <xsd:attribute name="obdisplayName"
                              type="xsd:string" use="required"/>
                        <xsd:attribute name="bgcolor" use="required">
                           <xsd:simpleType>
                              <xsd:restriction base="xsd:binary">
                                 <xsd:encoding value="hex"/>
                              </xsd:restriction>
                           </xsd:simpleType>
                        </xsd:attribute>
                  </xsd:complexType>
               </xsd:element>
               <xsd:element name="ObLink">
                  <xsd:complexType>
                        <xsd:sequence>
                           <xsd:element ref="ObCollection"
                              minOccurs="0"    maxOccurs="unbounded"/>
                        </xsd:sequence>
                        <xsd:attribute name="appName" use="required">
                           <xsd:simpleType>
                              <xsd:restriction base="xsd:NMTOKEN">
                                 <xsd:enumeration value="common"/>
                                 <xsd:enumeration value=
                                       "groupservcenter"/>
                                 <xsd:enumeration value=
                                       "objservcenter"/>
                                 <xsd:enumeration value=
                                       "userservcenter"/>
                              </xsd:restriction>
                           </xsd:simpleType>
                        </xsd:attribute>
                        <xsd:attribute name="name" use="required">
                           <xsd:simpleType>
                              <xsd:restriction base="xsd:NMTOKEN">
                                 <xsd:enumeration value="Admin"/>
                                 <xsd:enumeration value="Create"/>
                                 <xsd:enumeration value=
                                       "FTABconfiguration"/>
                                 <xsd:enumeration value=
                                       "FTABcreatereports"/>
                                 <xsd:enumeration value=
                                       "FTABorgchart"/>
                                 <xsd:enumeration value=
                                       "FTABrequests"/>
                                 <xsd:enumeration value=
                                       "FTABviewreports"/>
                                 <xsd:enumeration value="MyProfile"/>
                                 <xsd:enumeration value=
                                       "T1TABgroupmanager"/>
                                 <xsd:enumeration value=
                                       "T1TABorgmanager"/>
                                 <xsd:enumeration value=
                                       "T1TABusermanager"/>
                                 <xsd:enumeration value="T1about"/>
                                 <xsd:enumeration value="T1help"/>
                                 <xsd:enumeration value="T1logout"/>
                                 <xsd:enumeration value="Workflow"/>
                                 <xsd:enumeration value=
                                       "adminDelegate"/>
                                 <xsd:enumeration value=
                                       "adminExpandGroups"/>
                                 <xsd:enumeration value=
                                       "adminPreWorkflowDef"/>
                                 <xsd:enumeration value=
                                       "adminProxy"/>
                                 <xsd:enumeration value=
                                       "adminSetContainmentLimit"/>
                                 <xsd:enumeration value=
                                       "adminSetSearchbase"/>
                                 <xsd:enumeration value=
                                       "adminWorkflowDef"/>
                                 <xsd:enumeration value="dashline"/>
                                 <xsd:enumeration value=
                                       "front_page_admin
                                          _application_info"/>
                                 <xsd:enumeration value=
                                       "groupservcenter
                                          _application_info"/>
                                 <xsd:enumeration value=
                                       "multipleObjectTabs"/>
                                 <xsd:enumeration value=
                                       "objservcenter
                                          _application_info"/>
                                 <xsd:enumeration value=
                                       "userservcenter
                                          _application_info"/>
                                 <xsd:enumeration value=
                                       "policyservcenter
                                          _application_info"/>
                                 <xsd:enumeration value=
                                       "wfCreateProfile"/>
                                 <xsd:enumeration value=
                                       "wfDeactivateProfile"/>
                                 <xsd:enumeration value=
                                       "wfIncomingRequest"/>
                                 <xsd:enumeration value="wfMonitor"/>
                                 <xsd:enumeration value=
                                       "wfOutgoingRequest"/>
                              </xsd:restriction>
                           </xsd:simpleType>
                        </xsd:attribute>
                        <xsd:attribute name="elementName"
                              type="xsd:string"/>
                  </xsd:complexType>
               </xsd:element>
               <xsd:element name="ObNavigation">
                  <xsd:complexType>
                        <xsd:sequence>
                           <xsd:element ref="ObHierarchy"
                                 maxOccurs="unbounded"/>
                        </xsd:sequence>
                        <xsd:attribute name="defaultUserType"
                           type="xsd:string" use="required"/>
                  </xsd:complexType>
               </xsd:element>
               </xsd:schema>

C.3 カスタマイズ

次の手順に示すように、obnavigation.xmlファイルを変更できます。変更は、Identity Manager Serverが次に再起動されたときに有効になります。

obnavigation.xmlファイルをカスタマイズする手順

  1. リンクを削除します。

    ユーザー・タイプの機能へのアクセスを削除するには、その機能に関連付けられているObLink要素を削除します。この例は、エンドユーザーのバージョン情報機能を削除する前の、元のファイル部分を示しています。

                         <ObHierarchy name="oblix" elementName="ObNavbar"
                            userType="endUser" obdisplayName="End User"
                            bgcolor="CCCC66">
                         <ObCollection name="ObMisc">
                            <ObLink appName="common" name="T1help"/>
                            <ObLink appName="common" name="T1logout"/>
                         </ObCollection>
    
  2. リンクを追加します。

    このテンプレートとしてSystemAdminユーザー・タイプのObHierarchyを使用します。これは、標準的なナビゲーションの完全な機能を示します。追加するリンクを決定します。リンクを追加するObCollectionを見つけ、リンクを追加します。変更後のファイル部分の例では、エンドユーザーは、新しいユーザーを作成するページにナビゲートできるようになっています。


    注意:

    変更後も、エンドユーザーがページを使用するためには、作成権限を付与される必要があります。

       <ObCollection name="ObFunctions">
                      <ObLink appName="userservcenter"
                            name="MyProfile"/>
                      <ObLink appName="userservcenter"
                            name="wfCreateProfile"
                      <ObLink appName="userservcenter" name="Workflow">
                            <ObCollection name="ObWorkflowFunctions">
                               <ObLink appName="userservcenter"
                                     name="wfOutgoingRequest"/>
                            </ObCollection>
                      </ObLink>
                   </ObCollection>
    
  3. ユーザー・タイプを削除します。

    そのユーザー・タイプに関連付けられているObHierarchy要素すべてを削除します。そのユーザー・タイプでは、どのページも表示できなくなります。


    注意:

    デフォルトのユーザー・タイプは削除しないでください。デフォルトのユーザー・タイプをどうしても削除する必要がある場合は、別のユーザー・タイプをデフォルトに設定してください。

  4. ユーザー・タイプを追加します。

    新しいユーザー・タイプを指定して、ObHierarchy要素を追加します。systemAdminObHierarchyをテンプレートとして使用し、新しいユーザー・タイプに適さないリンクとコレクションは削除します。

    最初にシステムにアクセスするときのエントリ・ポイントURLに&userType=(ObHierarchy内のユーザー・タイプ属性値)を追加します。ユーザー・タイプ情報は、返されたCookieに格納されます。これは、URL内で新しいuserTypeが使用された場合にのみリセットされます。

  5. デフォルトのユーザー・タイプを設定します。

    ObNavigationdeafaultUserType属性値を目的のユーザー・タイプに変更します。返されたCookie内にユーザー・タイプが設定されておらず、URL内にユーザー・タイプが指定されていない場合は、この値が使用されます。

C.4 有効なObLinkの組合せ

次の表に、有効なObLinkを定義する際に使用するアイデンティティ・システム機能をアプリケーション別に示します。たとえば、ユーザー・マネージャにユーザー・マネージャ機能を提供する必要がある場合は、次のように追加します。

<ObLink appname="userservcenter" name="T1TABUserManager"/>

表では、ネストされたObCollection要素を含むことを許可されているname値は、*でマークされています。

表内のappNameは、アプリケーションと次のように対応しています。

common: 「ヘルプ」ボタン、「バージョン情報」ボタン、「ログアウト」ボタンおよびアプリケーション。詳細は、表C-2を参照してください。

userservcenter: ユーザー・マネージャ。詳細は、表C-3を参照してください。

groupservcenter: グループ・マネージャ。詳細は、表C-4を参照してください。

objservcenter: 組織マネージャ。詳細は表C-5を参照してください。

表C-2 appName=commonの有効なObLink nameの値

名前 すべてのアプリケーションに共通の機能の説明

T1help

「ヘルプ」ボタン

T1about

「バージョン情報」ボタン

T1logout

「ログアウト」ボタン

userservcenter_application_info

ユーザー・マネージャ

groupservcenter_application_info

グループ・マネージャ

policyservcenter_application_info

アクセス・システム

access_front_page_admin_application_info

アクセス・システム構成

front_page_admin_application_info

アイデンティティ・システム構成

objservcenter_application_info

組織マネージャ


表C-3 appName=userservcenterの有効なObLink nameの値

名前 ユーザー・マネージャ機能

T1TABusermanager

ユーザー・マネージャ

MyProfile

ID

wfCreateProfile

ユーザーIDの作成

wfDeactivateProfile

非アクティブなユーザーID

adminProxy

代替権限

Workflow *

リクエスト

wfIncomingRequest

着信リクエスト

wfOutgoingRequest

送信リクエスト

wfMonitor

リクエストのモニター

Admin *

構成

adminAccessControl

属性アクセス制御

adminDelegate

管理の委任

adminWorkflowDef

ワークフロー定義

adminSetSeachbase

検索ベースの設定


表C-4 appName=groupservcenterの有効なObLink nameの値

名前 グループ・マネージャ機能

T1TABgroupmanager

グループ・マネージャ

MyProfile

グループ

Create

グループの作成

Workflow *

リクエスト

wfIncomingRequest

着信リクエスト

wfOutgoingRequest

送信リクエスト

wfMonitor

リクエストのモニター

Admin *

構成

adminAccessControl

属性アクセス制御

adminDelegate

管理の委任

adminPreWorkflowDef

ワークフロー定義

adminExpandGroups

動的グループの拡張


表C-5 appName=objservcenterの有効なObLink nameの値

名前 Org. Manager機能

T1TABorgmanager

組織マネージャ

multipleObjectTabs

組織マネージャに構成されたタブのセット

wfCreateProfile

組織プロファイルの作成

FTABrequests *

リクエスト

wfIncomingRequest

着信リクエスト

wfOutgoingRequest

送信リクエスト

wfMonitor

リクエストのモニター

FTABconfiguration *

構成

adminAccessControl

属性アクセス制御

adminDelegate

管理の委任

adminWorkflowDef

ワークフロー定義

adminSetContainmentLimit

コンテナ制限