
[[_fuse7_adapter]]
==== JBoss Fuse 7 Adapter

{project_name} supports securing your web applications running inside https://developers.redhat.com/products/fuse/overview[JBoss Fuse 7].

JBoss Fuse 7 leverages Undertow adapter which is essentially the same as 
ifeval::[{project_community}==true]
<<_jboss_adapter,EAP 7 / WildFly Adapter>>
endif::[]
ifeval::[{project_product}==true]
<<_jboss_adapter,JBoss EAP 7 Adapter>>
endif::[]
as {fuse7Version} is bundled with the Undertow HTTP engine under the covers and Undertow is used for running various kinds of web applications.

WARNING: The only supported version of Fuse 7 is the latest release. If you use earlier versions of Fuse 7, it is possible that some functions will not work correctly. In particular, integration will not work at all for versions of Fuse 7 lower than 7.0.1.

Security for the following items is supported for Fuse:

* Classic WAR applications deployed on Fuse with Pax Web War Extender
* Servlets deployed on Fuse as OSGI services with Pax Web Whiteboard Extender and additionally servlets registered through
  org.osgi.service.http.HttpService#registerServlet() which is standard OSGi Enterprise HTTP Service
* https://camel.apache.org/[Apache Camel] Undertow endpoints running with the https://camel.apache.org/components/latest/undertow-component.html[Camel Undertow] component
* https://cxf.apache.org/[Apache CXF] endpoints running on their own separate Undertow engine
* https://cxf.apache.org/[Apache CXF] endpoints running on the default engine provided by the CXF servlet
* SSH and JMX admin access
* https://hawt.io/[Hawtio administration console]

===== Securing Your Web Applications Inside Fuse 7

You must first install the {project_name} Karaf feature. Next you will need to perform the steps according to the type of application you want to secure.
All referenced web applications require injecting the {project_name} Undertow authentication mechanism into the underlying web server. The steps to achieve this depend on the application type. The details are described below.

ifeval::[{project_community}==true]
The best place to start is look at Fuse demo bundled as part of {project_name} examples in directory `fuse` . Most of the steps should be understandable from testing and understanding the demo.
endif::[]
