241.8. HTTP 기본 인증 사용
Netty HTTP 소비자는 사용할 보안 영역 이름을 다음과 같이 지정하여 HTTP 기본 인증을 지원합니다.
<route> <from uri="netty4-http:http://0.0.0.0:{{port}}/foo?securityConfiguration.realm=karaf"/> ... </route>
<route>
<from uri="netty4-http:http://0.0.0.0:{{port}}/foo?securityConfiguration.realm=karaf"/>
...
</route>
영역 이름은 기본 인증을 활성화하기 위해 필수입니다. 기본적으로 JAAS 기반 인증자는 지정된 영역 이름(위의 예에서karaf)을 사용하고 인증을 위해 이 영역의 JAAS \{{LoginModule}}s를 사용합니다.
Apache Karaf / ServiceMix의 최종 사용자는 상자 밖으로 karaf 영역을 가지고 있으므로 위의 예제가 이러한 컨테이너의 상자에서 작동하지 않는 이유는 무엇입니까?
241.8.1. 웹 리소스에서 ACL 지정 링크 복사링크가 클립보드에 복사되었습니다!
org.apache.camel.component.netty4.http.SecurityConstraint
를 사용하면 웹 리소스에서 제한 사항을 정의할 수 있습니다. 그리고 org.apache.camel.component.netty.http.SecurityConstraintMapping
이 제공되어 역할을 사용하여 포함 및 제외를 쉽게 정의할 수 있습니다.
예를 들어 XML DSL에서 다음과 같이 제약 조건 빈을 정의합니다.
위의 제약 조건은 다음과 같이 정의합니다.
- /*에 대한 액세스는 제한되어 있으며 모든 역할이 허용됩니다(사용자가 역할이 없는 경우)
- /admin/*에 대한 액세스에는 admin 역할이 필요합니다.
- /guest/*에 액세스하려면 admin 또는 guest 역할이 필요합니다.
- /public/*에 대한 액세스 권한은 제외되므로 인증이 필요하지 않으므로 로그인하지 않고 모든 사용자에게 공개됩니다.
이 제약 조건을 사용하려면 다음과 같이 빈 ID를 참조해야 합니다.
<route> <from uri="netty4-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint"/> ... </route>
<route>
<from uri="netty4-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&securityConfiguration.realm=karaf&securityConfiguration.securityConstraint=#constraint"/>
...
</route>