240.9. HTTP 기본 인증 사용
Netty HTTP 소비자는 다음과 같이 사용할 보안 영역 이름을 지정하여 HTTP 기본 인증을 지원합니다.
<route> <from uri="netty-http:http://0.0.0.0:{{port}}/foo?securityConfiguration.realm=karaf"/> ... </route>
<route>
<from uri="netty-http:http://0.0.0.0:{{port}}/foo?securityConfiguration.realm=karaf"/>
...
</route>
기본 인증을 활성화하려면 영역 이름이 필요합니다. 기본적으로 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을 정의합니다.
다음과 같이 제약 조건이 정의됩니다.
- /*에 대한 액세스는 제한되며 모든 역할이 허용됩니다(사용자에게 역할이 없는 경우에도)
- /admin/*에 액세스하려면 admin 역할이 필요합니다.
- /guest/*에 액세스하려면 admin 또는 guest 역할이 필요합니다.
- /public/*에 대한 액세스는 제외되므로 인증이 필요하지 않으므로 로그인하지 않고 모든 사용자에게 공개됩니다.
이 제약 조건을 사용하려면 다음과 같이Bean ID를 참조하면 됩니다.
<route> <from uri="netty-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint"/> ... </route>
<route>
<from uri="netty-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint"/>
...
</route>