243.9. HTTP Basic 認証の使用


以下に示すように、Netty HTTP コンシューマーは、使用するセキュリティーレルム名を指定することにより、HTTP Basic 認証をサポートします。

<route>
   <from uri="netty4-http:http://0.0.0.0:{{port}}/foo?securityConfiguration.realm=karaf"/>
   ...
</route>

Basic 認証を有効にするには、レルム名が必須です。デフォルトでは、JAAS ベースのオーセンティケーターが使用されます。これは、指定されたレルム名 (上記の例では karaf) を使用し、JAAS レルムとこのレルムの JAAS \{{LoginModule}} を認証に使用します。

Apache Karaf/ServiceMix のエンドユーザーはすぐに使用できる karaf レルムを持っているため、上記の例がこれらのコンテナーですぐに機能する理由です。

243.9.1. Web リソースに ACL を指定する

org.apache.camel.component.netty4.http.SecurityConstraint を使用すると、Web リソースに対する制約を定義できます。また、org.apache.camel.component.netty.http.SecurityConstraintMapping はすぐに使用できるように提供されており、ロールを使用してインクルージョンとエクスクルージョンを簡単に定義できます。

たとえば、XML DSL で以下に示すように、制約 Bean を定義します。

  <bean id="constraint" class="org.apache.camel.component.netty4.http.SecurityConstraintMapping">
    <!-- inclusions defines url -> roles restrictions -->
    <!-- a * should be used for any role accepted (or even no roles) -->
    <property name="inclusions">
      <map>
        <entry key="/*" value="*"/>
        <entry key="/admin/*" value="admin"/>
        <entry key="/guest/*" value="admin,guest"/>
      </map>
    </property>
    <!-- exclusions is used to define public urls, which requires no authentication -->
    <property name="exclusions">
      <set>
        <value>/public/*</value>
      </set>
    </property>
  </bean>

上記の制約は、次のように定義されます。

  • /* へのアクセスは制限され、すべてのロールが受け入れられます (ユーザーがロールを持っていない場合も同様)
  • /admin/* へのアクセスには管理者ロールが必要です
  • /guest/* へのアクセスには、管理者またはゲストのロールが必要です
  • /public/* へのアクセスは、認証が不要であることを意味するエクスクルージョンであるため、ログインしなくても全員に公開されます

この制約を使用するには、以下に示すように Bean ID を参照するだけです。

<route>
   <from uri="netty4-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&amp;securityConfiguration.realm=karaf&amp;securityConfiguration.securityConstraint=#constraint"/>
   ...
</route>
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.