15.6. 承認
本項ではコンポーネント、 コンポーネントのメソッド、 ページへのアクセスの安全化を図るため Seam Security API で提供される各種の承認メカニズムについて説明しています。 いずれかの高度な機能 (ルールベースのパーミッションなど) を使用したい場合は
components.xml ファイルを設定する必要があるかもしれません。 前述の「設定」の項を参照してください。
15.6.1. 核となる概念 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Seam Security はユーザーはロールまたはパーミッションあるいはその両方を与えられるという原理で動作します。 これによりユーザーは必要なセキュリティ権限を持たないユーザーには許容されない操作を行うことができます。Seam Security API 提供のそれぞれの承認メカニズムは、ロールとパーミッションに関するこの中核となる概念に基づき構築され、 拡張可能なフレームワークでアプリケーションリソースの安全化を図る複数の方法を提供しています。
15.6.1.1. ロールとは リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ロールとは、 アプリケーション内で 1 つ以上の特定の操作を行う特権を付与されてる可能性があるユーザーのタイプです。 構成はシンプルで、 ユーザーまたは他のロールに適用される名前 (「admin」、「user」、「customer」など) により構成されています。 論理的なユーザーグループの作成に使用され、 任意のアプリケーションの権限を容易に割り当てることが可能です。
15.6.1.2. パーミッションとは? リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
パーミッションとは 1 つの特定の操作を実行するための特権 (時として1回限り) を言います。 パーミッションのみで動作するアプリケーションを構築することも可能ですが、 グループに対して特権を付与する場合はロールの方が便利です。 パーミッションはロールに比べると構造が若干複雑になり、 対象、 操作、受信者の 3 種類の「側面」で構成されます。 パーミッションの対象は特定の受信者 (ユーザー) によって実行が許可される特定の操作に対するオブジェクト (あるいは、 任意の名前またはクラス) です。 例として、 ユーザー「Bob」に顧客オブジェクトを削除するパーミッションがあるとします。 この場合、 パーミッションの対象は「顧客」、 パーミッションの操作は「削除」、 そして受益者は「Bob」ということになります。
本ガイド内では、通常パーミッションを
target:action という形式で受信者を省略して表示されています。 実際には受信者は常に必要です。