我正在查看Java EE 6規範部分EE.6.25,它指出Web容器必須支持以下注釋:@PermitAll,@DenyAll,@RolesAllowed,@DeclareRoles和@RunAs。@RolesAllowed,@Deny所有在網絡層的使用?
爲Java™平臺1.1的要求
通用註解規範EE.6.25通用註解定義了Java語言的註解是由其他幾種規格,其中包括本說明書中使用 。使用這些註釋的規格 完全定義了這些註釋的要求。小程序容器不需要支持任何這些註釋。所有其他容器 必須提供所有這些註釋的定義,並且必須支持這些註釋的語義 ,如相應規範中所述以及下表中總結的 。
表EE.6-5通用註解支持通過集裝箱
Annotation App Client Web EJB Resource Y Y Y Resources Y Y Y PostConstruct Y Y Y PreDestroy Y Y Y Generated N N N RunAs N Y Y DeclareRoles N Y Y RolesAllowed N Y Y PermitAll N Y Y DenyAll N Y Y
下來一點進一步規範,它說,」 ...... Web容器現在需要支持RolesAllowed,PermitAll和DenyAll註釋,Servlet規範和JAX-RS規範包含詳細信息。「
它沒有提到JSF規範,所以我假設這些註釋不能在託管的bean上使用。爲什麼不?
如何在Web層中對不是servlet或過濾器的對象實施授權等橫切關注,並在web.xml中使用頁級聲明式安全性?