diff --git a/fda-authentication-service/rest-service/src/main/java/at/tuwien/config/SamlConfig.java b/fda-authentication-service/rest-service/src/main/java/at/tuwien/config/SamlConfig.java
index c63acc6812b876eff7d10459adccd567b555b9e5..06910b2d0a4c50bb2a7f386180d2c06222e49295 100644
--- a/fda-authentication-service/rest-service/src/main/java/at/tuwien/config/SamlConfig.java
+++ b/fda-authentication-service/rest-service/src/main/java/at/tuwien/config/SamlConfig.java
@@ -14,6 +14,7 @@ import org.springframework.core.io.DefaultResourceLoader;
 import org.springframework.core.io.Resource;
 import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
 import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
 import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
 import org.springframework.security.saml.*;
@@ -33,7 +34,10 @@ import org.springframework.security.saml.processor.SAMLProcessorImpl;
 import org.springframework.security.saml.util.VelocityFactory;
 import org.springframework.security.saml.websso.*;
 import org.springframework.security.web.*;
+import org.springframework.security.web.access.channel.ChannelProcessingFilter;
 import org.springframework.security.web.authentication.logout.SimpleUrlLogoutSuccessHandler;
+import org.springframework.security.web.authentication.www.BasicAuthenticationFilter;
+import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
 
 import java.util.*;
 
@@ -133,6 +137,9 @@ public class SamlConfig extends WebSecurityConfigurerAdapter {
     @Bean
     public SAMLEntryPoint samlEntryPoint() {
         final SAMLEntryPoint samlEntryPoint = new SAMLEntryPoint();
+        samlEntryPoint.setSamlLogger(samlLogger());
+        samlEntryPoint.setContextProvider(samlContextProvider());
+        samlEntryPoint.setWebSSOprofile(webSSOprofile());
         samlEntryPoint.setDefaultProfileOptions(defaultWebSSOProfileOptions());
         return samlEntryPoint;
     }
@@ -220,11 +227,44 @@ public class SamlConfig extends WebSecurityConfigurerAdapter {
         return new SAMLProcessorImpl(bindings);
     }
 
+    @Bean
+    public FilterChainProxy samlFilter() throws Exception {
+        final List<SecurityFilterChain> chains = new ArrayList<>();
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/login/**"),
+                samlEntryPoint()));
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/metadata/**"),
+                metadataDisplayFilter()));
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/SSO/**"),
+                samlWebSSOProcessingFilter()));
+        chains.add(new DefaultSecurityFilterChain(new AntPathRequestMatcher("/saml/discovery/**"),
+                samlIDPDiscovery()));
+        return new FilterChainProxy(chains);
+    }
+
     @Bean
     public SAMLLogger samlLogger() {
         return new SAMLDefaultLogger();
     }
 
+    @Override
+    protected void configure(HttpSecurity http) throws Exception {
+        http.requiresChannel()
+                .anyRequest()
+                .requiresSecure();
+        http.httpBasic()
+                .authenticationEntryPoint(samlEntryPoint());
+        http.csrf()
+                .disable();
+        http.addFilterBefore(metadataGeneratorFilter(), ChannelProcessingFilter.class)
+                .addFilterAfter(samlFilter(), BasicAuthenticationFilter.class);
+        /* allow metadata and saml stuff */
+        http.authorizeRequests()
+                .antMatchers("/saml/**").permitAll()
+                .antMatchers("/health").permitAll()
+                .antMatchers("/error").permitAll()
+                .anyRequest().authenticated();
+    }
+
     @Bean
     public MetadataProvider metadataProvider() throws MetadataProviderException {
         final HTTPMetadataProvider provider = new HTTPMetadataProvider(timer(), httpClient(), idpProviderMetadata);
diff --git a/fda-authentication-service/rest-service/src/main/resources/securityContext.xml b/fda-authentication-service/rest-service/src/main/resources/securityContext.xml
deleted file mode 100644
index 0232b163178846c74cce40c68b70bb73a3346a65..0000000000000000000000000000000000000000
--- a/fda-authentication-service/rest-service/src/main/resources/securityContext.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<beans xmlns="http://www.springframework.org/schema/beans"
-       xmlns:security="http://www.springframework.org/schema/security"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xmlns:context="http://www.springframework.org/schema/context"
-       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-              http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
-
-    <!-- Enable auto-wiring -->
-    <context:annotation-config/>
-    <context:component-scan base-package="org.springframework.security.saml"/>
-    <context:component-scan base-package="at.tuwien.config"/>
-
-    <!-- Unsecured pages -->
-    <security:http security="none" pattern="/saml/web/**"/>
-    <security:http security="none" pattern="/logout.jsp"/>
-    <security:http security="none" pattern="/favicon.ico"/>
-
-    <!-- Secured pages -->
-    <security:http entry-point-ref="samlEntryPoint">
-        <security:intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY"/>
-        <security:custom-filter before="FIRST" ref="metadataGeneratorFilter"/>
-        <security:custom-filter after="BASIC_AUTH_FILTER" ref="samlFilter"/>
-    </security:http>
-
-</beans>
\ No newline at end of file