3

私はJavaEE6仕様セクションEE.6.25を見ています。これは、Webコンテナーが次のアノテーションをサポートする必要があることを示しています:@ PermitAll、@ DenyAll、@ RolesAllowed、@ DeclareRoles、および@RunAs。

EE.6.25Java™Platform1.1要件の一般的な注釈

Common Annotations仕様は、この仕様を含む他のいくつかの仕様で使用されるJava言語注釈を定義します。これらの注釈を使用する仕様は、これらの注釈の要件を完全に定義します。アプレットコンテナは、これらの注釈をサポートする必要はありません。他のすべてのコンテナは、これらすべての注釈の定義を提供する必要があり、対応する仕様で説明され、次の表に要約されているように、これらの注釈のセマンティクスをサポートする必要があります。

表EE.6-5コンテナによる一般的な注釈のサポート

 
アノテーションアプリクライアントWebEJB

リソースYYY
リソースYYY
PostConstruct YYY
YYYを破壊する
生成されたNNN
RunAs NYY
DeclareRoles NYY
RolesAllowed NYY
PermitAll NYY
DenyAll NYY

仕様をもう少し詳しく説明すると、「... RolesAllowed、PermitAll、およびDenyAllアノテーションをサポートするためにWebコンテナが必要になりました。サーブレット仕様とJAX-RS仕様に詳細が含まれています。」

JSF仕様については触れられていないので、これらのアノテーションはマネージドBeanでは使用できないと思います。なぜだめですか?

サーブレットやフィルターではないオブジェクトにWeb層で実装され、web.xmlでページレベルの宣言型セキュリティを使用するなど、横断的関心事はどのように行われますか?

4

1 に答える 1

3

...そして答えは...EJBはCDI管理対象Beanです。管理対象Beanで@RolesAllowedを使用するには、それをEJBに変換してお楽しみください。これは、バッキングBeanとして使用されるEJBの例です。

于 2012-08-11T21:47:27.047 に答える