228.8. HTTP Basic 認証の使用


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

Copy to Clipboard Toggle word wrap
<route>
   <from uri="netty-http:http://0.0.0.0:{{port}}/foo?securityConfiguration.realm=karaf"/>
   ...
</route>

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

Apache Karaf / ServiceMix のエンドユーザーには、そのまま使える karaf レルムがあります。そのため、上記のサンプルがこれらのコンテナーで追加設定なしで機能しなくなるからです。

228.8.1. Web リソースでの ACL の指定

org.apache.camel.component.netty.http.SecurityConstraint では、Web リソースで制約を定義できます。また、org.apache.camel.component.netty.http.SecurityConstraintMapping は追加設定なしで提供され、ロールの追加や除外を簡単に定義できます。

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

Copy to Clipboard Toggle word wrap
  <bean id="constraint" class="org.apache.camel.component.netty.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/* へのアクセスには admin ロールが必要です。
  • /guest/* へのアクセスには admin ロールまたは guest ロールが必要です。
  • /public/* へのアクセスは、認証を必要としない除外されるため、ログインせずにパブリックになります。

この制約を使用するには、以下のように Bean ID を参照する必要があります。

Copy to Clipboard Toggle word wrap
<route>
   <from uri="netty-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 は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat, Inc.