This closes #117
diff --git a/modularity-server/features/pom.xml b/modularity-server/features/pom.xml
index 461b5d5..34f4580 100644
--- a/modularity-server/features/pom.xml
+++ b/modularity-server/features/pom.xml
@@ -63,46 +63,11 @@
             <plugin>
                 <groupId>org.apache.karaf.tooling</groupId>
                 <artifactId>karaf-maven-plugin</artifactId>
+                <version>${karaf.plugin.version}</version>
+                <extensions>true</extensions>
                 <configuration>
                     <startLevel>100</startLevel>
-                    <aggregateFeatures>true</aggregateFeatures>		
-                    <resolver>(obr)</resolver>
                 </configuration>
-                <executions>
-                    <execution>
-                        <id>verify-brooklyn-ui-modularity-feature</id>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>verify</goal>
-                        </goals>
-                        <configuration>
-                            <distribution>org.apache.karaf.features:framework</distribution>
-                            <framework><!--REQUIRED FEATURES-->
-                                <feature>framework</feature>
-                                <feature>aries-blueprint</feature>
-                                <feature>config</feature>
-                                <feature>feature</feature>
-                                <feature>service</feature>
-                                <feature>ssh</feature>
-                                <feature>system</feature>
-                                <feature>wrap</feature>
-                                <feature>brooklyn-osgi-launcher</feature>
-                                <feature>brooklyn-rest-resources</feature>
-                            </framework>
-                            <features><!--SELECTED FEATURES TO VERIFY-->
-                                <feature>brooklyn-ui-modularity</feature>
-                                <feature>brooklyn-ui-modularity-prereqs</feature>
-                                <feature>brooklyn-ui-proxy</feature>
-                            </features>
-                            <descriptors>
-                                <descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.brooklyn/brooklyn-features/${brooklyn.version}/xml/features</descriptor>
-                                <descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
-                            </descriptors>
-                        </configuration>
-                    </execution>
-                </executions>
             </plugin>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
diff --git a/ui-modules/app-inspector/pom.xml b/ui-modules/app-inspector/pom.xml
index 251b79e..30c7809 100644
--- a/ui-modules/app-inspector/pom.xml
+++ b/ui-modules/app-inspector/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/app-inspector/src/main/webapp/WEB-INF/web.xml b/ui-modules/app-inspector/src/main/webapp/WEB-INF/web.xml
index 9e99c5f..e039863 100644
--- a/ui-modules/app-inspector/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/app-inspector/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>
diff --git a/ui-modules/blueprint-composer/pom.xml b/ui-modules/blueprint-composer/pom.xml
index edc8505..65816d2 100644
--- a/ui-modules/blueprint-composer/pom.xml
+++ b/ui-modules/blueprint-composer/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/blueprint-composer/src/main/webapp/WEB-INF/web.xml b/ui-modules/blueprint-composer/src/main/webapp/WEB-INF/web.xml
index c8d59e9..beb78ad 100644
--- a/ui-modules/blueprint-composer/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/blueprint-composer/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>
diff --git a/ui-modules/blueprint-importer/pom.xml b/ui-modules/blueprint-importer/pom.xml
index fa0ed73..860886d 100644
--- a/ui-modules/blueprint-importer/pom.xml
+++ b/ui-modules/blueprint-importer/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/blueprint-importer/src/main/webapp/WEB-INF/web.xml b/ui-modules/blueprint-importer/src/main/webapp/WEB-INF/web.xml
index 7316240..24bb005 100644
--- a/ui-modules/blueprint-importer/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/blueprint-importer/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>
diff --git a/ui-modules/catalog/pom.xml b/ui-modules/catalog/pom.xml
index 015240a..963394b 100644
--- a/ui-modules/catalog/pom.xml
+++ b/ui-modules/catalog/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/catalog/src/main/webapp/WEB-INF/web.xml b/ui-modules/catalog/src/main/webapp/WEB-INF/web.xml
index 2ff2d15..71b1d35 100644
--- a/ui-modules/catalog/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/catalog/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>
diff --git a/ui-modules/features/pom.xml b/ui-modules/features/pom.xml
index 5fe554a..d1f2ef6 100644
--- a/ui-modules/features/pom.xml
+++ b/ui-modules/features/pom.xml
@@ -71,46 +71,11 @@
             <plugin>
                 <groupId>org.apache.karaf.tooling</groupId>
                 <artifactId>karaf-maven-plugin</artifactId>
+                <version>${karaf.plugin.version}</version>
+                <extensions>true</extensions>
                 <configuration>
                     <startLevel>100</startLevel>
-                    <aggregateFeatures>true</aggregateFeatures>
-                    <resolver>(obr)</resolver>
                 </configuration>
-                <executions>
-                    <execution>
-                        <id>verify-brooklyn-ui-modules-feature</id>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>verify</goal>
-                        </goals>
-                        <configuration>
-                            <distribution>org.apache.karaf.features:framework</distribution>
-                            <framework><!--REQUIRED FEATURES-->
-                                <feature>framework</feature>
-                                <feature>aries-blueprint</feature>
-                                <feature>config</feature>
-                                <feature>feature</feature>
-                                <feature>service</feature>
-                                <feature>ssh</feature>
-                                <feature>system</feature>
-                                <feature>wrap</feature>
-                                <feature>brooklyn-osgi-launcher</feature>
-                                <feature>brooklyn-rest-resources</feature>
-                                <feature>brooklyn-ui-modularity</feature>
-                            </framework>
-                            <features><!--FEATURES TO VERIFY-->
-                                <feature>brooklyn-ui-modules</feature>
-                            </features>
-                            <descriptors>
-                                <descriptor>mvn:org.apache.karaf.features/framework/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.brooklyn/brooklyn-features/${brooklyn.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.brooklyn.ui.modularity/brooklyn-ui-modularity-features/${brooklyn.version}/xml/features</descriptor>
-                                <descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
-                            </descriptors>
-                        </configuration>
-                    </execution>
-                </executions>
             </plugin>
         </plugins>
     </build>
diff --git a/ui-modules/groovy-console/pom.xml b/ui-modules/groovy-console/pom.xml
index 3cc69db..8fced82 100644
--- a/ui-modules/groovy-console/pom.xml
+++ b/ui-modules/groovy-console/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/groovy-console/src/main/webapp/WEB-INF/web.xml b/ui-modules/groovy-console/src/main/webapp/WEB-INF/web.xml
index edfc151..a01976d 100644
--- a/ui-modules/groovy-console/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/groovy-console/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>
diff --git a/ui-modules/home/pom.xml b/ui-modules/home/pom.xml
index 5831ee3..49d23ee 100644
--- a/ui-modules/home/pom.xml
+++ b/ui-modules/home/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/home/src/main/webapp/WEB-INF/web.xml b/ui-modules/home/src/main/webapp/WEB-INF/web.xml
index 4fa41b8..6242d44 100644
--- a/ui-modules/home/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/home/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,8 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
+  
 </web-app>
diff --git a/ui-modules/location-manager/pom.xml b/ui-modules/location-manager/pom.xml
index dd54a20..d2075c9 100644
--- a/ui-modules/location-manager/pom.xml
+++ b/ui-modules/location-manager/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/location-manager/src/main/webapp/WEB-INF/web.xml b/ui-modules/location-manager/src/main/webapp/WEB-INF/web.xml
index 6b6683a..8cff1cb 100644
--- a/ui-modules/location-manager/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/location-manager/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>
diff --git a/ui-modules/logout/pom.xml b/ui-modules/logout/pom.xml
index 98d50af..0fbbd84 100644
--- a/ui-modules/logout/pom.xml
+++ b/ui-modules/logout/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/logout/src/main/webapp/WEB-INF/web.xml b/ui-modules/logout/src/main/webapp/WEB-INF/web.xml
index 19970f8..0355330 100644
--- a/ui-modules/logout/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/logout/src/main/webapp/WEB-INF/web.xml
@@ -27,4 +27,7 @@
     <welcome-file-list>
         <welcome-file>index.html</welcome-file>
     </welcome-file-list>
+
+    <!--no security for this module so we can confirm that the user has logged out-->
+
 </web-app>
diff --git a/ui-modules/rest-api-docs/pom.xml b/ui-modules/rest-api-docs/pom.xml
index cf5bbc6..3a61021 100644
--- a/ui-modules/rest-api-docs/pom.xml
+++ b/ui-modules/rest-api-docs/pom.xml
@@ -112,6 +112,7 @@
                         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                         <Import-Package>
                             org.apache.brooklyn.ui.modularity.module.api,
+                            org.apache.brooklyn.rest.filter,
                             org.eclipse.jetty.servlets,
                             *
                         </Import-Package>
diff --git a/ui-modules/rest-api-docs/src/main/webapp/WEB-INF/web.xml b/ui-modules/rest-api-docs/src/main/webapp/WEB-INF/web.xml
index dd7dd9b..00e0f4c 100644
--- a/ui-modules/rest-api-docs/src/main/webapp/WEB-INF/web.xml
+++ b/ui-modules/rest-api-docs/src/main/webapp/WEB-INF/web.xml
@@ -42,6 +42,10 @@
         </init-param>
     </filter>
     <filter>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <filter-class>org.apache.brooklyn.rest.filter.BrooklynSecurityProviderFilterJavax</filter-class>
+    </filter>
+    <filter>
         <filter-name>GzipFilter</filter-name>
         <filter-class>org.eclipse.jetty.servlets.GzipFilter</filter-class>
         <init-param>
@@ -55,10 +59,13 @@
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <filter-mapping>
+        <filter-name>brooklyn-security-filter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
         <filter-name>GzipFilter</filter-name>
         <url-pattern>/*</url-pattern>
     </filter-mapping>
     <!--FILTERS :: END-->
 
-
 </web-app>