我正在开发一个带有Hibernate Web 应用程序的Struts2 。我正在阅读Ian Roughley 所著的《实用 Apache Struts 2 web 2.0 项目》一书。在那本书中,作者展示了 3 种方法来进行访问 Web 资源的身份验证:基于容器、使用Acegi库和自定义模式。
因此,我的应用程序至少有 3 种模式,并且必须根据此访问操作。
我采用自定义模式,因为它最适合我(考虑到我正在使用Struts2进行开发)。
自定义模式将 aSecurityInterceptor
和 aSecureStack
用于struts.xml操作。@RequiresAuthentication
当在我想提供限制的操作类的顶部添加注释时,身份验证工作。
下面是RequiresAuthentication
书中给出的注解的定义:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequiresAuthentication {
}
所以作者明确指出,如果需要更复杂的基于角色的安全性,可以增强注释以指定允许调用操作的角色。所以我想知道应该如何为 3 种或更多模式实现此注释。