私は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でページレベルの宣言型セキュリティを使用するなど、横断的関心事はどのように行われますか?