上下文:我在 JBoss AS7 社区版本上运行我的应用程序。我正在使用来自 jboss 的 JaxRS 的 Java API。(不确定它是否与 RestEasy 相同?!)这是我的 Maven 依赖项
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_1.1_spec</artifactId>
<scope>provided</scope>
</dependency>
我正在使用 JaxRSActivator 在应用程序中启用 JAX-RS,如下所示。据我了解,这取代了在 web.xml 中进行 servlet 映射的需要
@ApplicationPath("/rest")
public class JaxRsActivator extends Application {
/* class body intentionally left blank */
}
我创建了一个 EJB (SSB) 并将其公开为一个 Restful 服务,如下所示“
@Path("/Items")
@Stateless
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public class ItemMgmtServiceBean {
@GET
@Path("/{id:[0-9][0-9]*}")
@Produces("text/xml")
public Item findItem(@PathParam("id")long itemId)
上面的 REST 服务在 JBoss AS7 上完美运行。请注意,到目前为止,我不必使用 web.xml。
现在我想保护这项服务。我想在此服务中使用编程安全性来查找主体名称(根据我的业务逻辑)。
RestEasy 文档说我不应该打开 EJB 的上下文参数。
<context-param>
<param-name>resteasy.role.based.security</param-name>
<param-value>true</param-value>
</context-param>
但是,它没有解释我应该在 web.xml 中使用什么,或者我是否需要将 web.xml 用于基于 EJB 的 restful 服务。
问题:
我想使用摘要身份验证。我需要采取哪些步骤才能启用此功能?.
我需要添加 web.xml 还是可以更改JaxRSActivator
以启用安全性?如果我需要 web.xml 我应该删除JaxRSActivator
吗?我应该在 web.xml 中配置什么?
感谢你的帮助。