240.9. HTTP 기본 인증 사용


Netty HTTP 소비자는 다음과 같이 사용할 보안 영역 이름을 지정하여 HTTP 기본 인증을 지원합니다.

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

기본 인증을 활성화하려면 영역 이름이 필요합니다. 기본적으로 JAAS 기반 인증기가 사용되며, 이 인증에는 지정된 영역 이름(위 예에서 karaf)을 사용하고 이 영역의 JAAS \{{LoginModule}}s를 인증에 사용합니다.

Apache Karaf / ServiceMix의 최종 사용자에게는 상자에서 karaf 영역이 있으므로 위의 예가 이러한 컨테이너의 상자에서 작동하는 이유는 무엇입니까?

240.9.1. 웹 리소스에 ACL 지정

org.apache.camel.component.netty.http.SecurityConstraint 를 사용하면 웹 리소스에 대한 제한을 정의할 수 있습니다. 또한 org.apache.camel.component.netty.http.SecurityConstraintMapping 이 즉시 제공되므로 역할로 포함 및 제외를 쉽게 정의할 수 있습니다.

예를 들어 XML DSL에서 아래와 같이 제약 조건Bean을 정의합니다.

  <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>
Copy to Clipboard Toggle word wrap

다음과 같이 제약 조건이 정의됩니다.

  • /*에 대한 액세스는 제한되며 모든 역할이 허용됩니다(사용자에게 역할이 없는 경우에도)
  • /admin/*에 액세스하려면 admin 역할이 필요합니다.
  • /guest/*에 액세스하려면 admin 또는 guest 역할이 필요합니다.
  • /public/*에 대한 액세스는 제외되므로 인증이 필요하지 않으므로 로그인하지 않고 모든 사용자에게 공개됩니다.

이 제약 조건을 사용하려면 다음과 같이Bean ID를 참조하면 됩니다.

<route>
   <from uri="netty-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&amp;securityConfiguration.realm=karaf&amp;securityConfiguration.securityConstraint=#constraint"/>
   ...
</route>
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat