3

コンテキスト: 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>

以下に示すように、アプリケーションで JAX-RS を有効にするために JaxRSActivator を使用しています。私の理解では、これにより、web.xml 内にサーブレット マッピングを配置する必要がなくなります。

    @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 をオンにすべきではないと書かれています。

 <context-param>
      <param-name>resteasy.role.based.security</param-name>
      <param-value>true</param-value>
   </context-param>

ただし、web.xml で何を使用する必要があるか、または EJB ベースの安らかなサービスに web.xml を使用する必要があるかどうかについては説明していません。

質問:

ダイジェスト認証を利用したい これを有効にするには、どのような手順を実行する必要がありますか? .

web.xml を追加する必要がありますか? またはJaxRSActivatorセキュリティを有効にするために変更できますか? web.xml が必要な場合は削除する必要がありJaxRSActivatorますか? web.xml で何を設定すればよいですか?

あなたの助けに感謝。

4

1 に答える 1

0

http://docs.jboss.org/resteasy/2.0.0.GA/userguide/html/Securing_JAX-RS_and_RESTeasy.html

Resteasy JAX-RS は、JAX-RS メソッドで @RolesAllowed、@PermitAll、および @DenyAll アノテーションをサポートします。デフォルトでは、Resteasy はこれらの注釈を認識しません。コンテキスト パラメーターを設定して、Resteasy を構成してロールベースのセキュリティをオンにする必要があります。ノート!!!EJB を使用している場合は、このスイッチをオンにしないでください。EJB コンテナは、Resteasy の代わりにこの機能を提供します。

于 2012-04-13T22:45:13.117 に答える