Oracle ADFセキュリティ・サービスは、セキュリティ対応のリソースの認可でJava Authorization and Authentication Service(JAAS)に依存します。Oracle ADFセキュリティでは、別のレベルの精度が提供されており、JAASを使用してJava権限に基づくオブジェクト・インスタンス・アクセス・コントロールが可能です。特に、一部のOracle ADFオブジェクトは「セキュリティ対応」になっています。これは、開発者が指定のリソースに付与できる事前定義コンポーネント固有の権限が存在することを意味します。
次のOracle ADFオブジェクトはセキュリティ対応です。
これらのオブジェクトへの権限付与に関する特定の意味の詳細は、「Oracle ADFオブジェクトの権限について」を参照してください。
これらのオブジェクト(リソースと呼ばれます)に対して指定のアクションを実行できる権限を持つ認証済ユーザーまたはロールを定義することで、オブジェクトへの権限付与を設定します。権限受領者は、プリンシパルとして定義されたロール、ユーザー、またはグループであり、権限にマップされています。権限とは、リソースに特定のアクションを実行できる権限であり、Oracle ADFセキュリティ・クラスによって定義されています(詳細は、Oracle ADF Javadocを参照してください)。Oracle JAZN軽量XMLプロバイダを使用している場合は、これらの権限付与はsystem-jazn-data.xml
ファイルに記述されます。次に例を示します。
<grant>
<grantee>
<principals>
<principal>
<realm-name>jazn.com</realm-name>
<type>role</type>
<class>oracle.security.jazn.spi.xml.XMLRealmRole</class>
<name>jazn.com/users</name>
</principal>
</principals>
</grantee>
<permissions>
<permission>
<class>oracle.adf.share.security.authorization.MethodPermission</class>
<name>SessionEJB.dataProvider.deleteDepartments</name>
<actions>invoke</actions>
</permission>
<permission>
<class>oracle.adf.share.security.authorization.AttributePermission</class>
<name>EmployeesView1.DepartmentId</name>
<actions>read</actions>
</permission>
</permissions>
</grant>
上の権限付与で、ロールusers
に deleteDepartments
メソッドを起動するMethodPermission
と、DepartmentID
属性値を読み取るAttributePermission
が付与されたことに注意してください。
ユーザーまたはロールとは、すでにリソース・プロバイダで定義されているものです。Oracle ADFセキュリティは、定義済セキュリティ制約または特定のユーザーが1つのロールに属しているかどうかを判別するプログラム・コールを使用することにより(HttpServletRequest
インタフェースにあるisUserInRole
メソッドまたはEJBContext
インタフェースにあるisCallerInRole
メソッドを使用)、ロールを参照できます。
JDeveloperを使用して、ロールに認可マネージャを使用した権限付与を作成できます。手順は、「JDeveloperを使用した認可の定義」を参照してください。
権限付与は集約されています。つまり、グループのロールが権限を付与されている場合、そのグループのメンバーにも同じ権限が付与されます。
権限付与が定義されたリソースに対してアクションの実行を試行すると、Oracle ADFセキュリティで、ユーザーが権限付与に定義済のプリンシパルかどうかがチェックされます。まだユーザーが認証されていない場合は、アプリケーションでログイン・ページまたはフォームが表示されます。認証済で権限を持っていないユーザーの場合は、セキュリティ・エラーが表示されます。また、プログラムによって認証チェックを起動することもできます。
J2EEアプリケーション用のセキュリティの開発
Oracle ADFアプリケーションでのセキュリティの実装
Copyright © 1997, 2006, Oracle. All rights reserved.