2016-09-09 4 views
5

Portion applicationContext.xmlSpring Security Benutzerdefinierte Filter durch grundlegende http Sicherheit außer Kraft gesetzt

<bean id="springSecurityFilterChain" class="org.springframework.security.web.FilterChainProxy"> 
     <security:filter-chain-map request-matcher="ant"> 
      <security:filter-chain pattern="/health" 
       filters="none" /> 
      <security:filter-chain pattern="/swagger-ui.html" 
       filters="none" /> 
      <security:filter-chain pattern="/images/**" 
       filters="none" /> 
      <security:filter-chain pattern="/webjars/**" 
       filters="none" /> 
      <security:filter-chain pattern="/v2/apidocs" 
       filters="none" />    
      <security:filter-chain pattern="/*.ico" 
       filters="none" />    
      <security:filter-chain pattern="/**" 
       filters="customAuthorizationFilter" /> 
     </security:filter-chain-map> 

Datei: sicherheits context.xml

<beans:beans xmlns="http://www.springframework.org/schema/security" 
      xmlns:beans="http://www.springframework.org/schema/beans" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
    http://www.springframework.org/schema/security 
    http://www.springframework.org/schema/security/spring-security-4.0.xsd"> 

    <http> 
     <intercept-url pattern="/swagger-ui.html" access="hasRole('ROLE_ADMIN')" /> 
     <http-basic/> 
     <csrf disabled="true"/> 
    </http> 

    <authentication-manager> 
     <authentication-provider> 
      <user-service> 
       <user name="abc" password="Basicauth" authorities="ROLE_ADMIN" /> 
      </user-service> 
     </authentication-provider> 
    </authentication-manager> 

</beans:beans> 

Es gab benutzerdefinierte Filter, das Verfahren zur Sicherung auf Wunsch die Authentifizierung und Überprüfen des Fehlers Nach dem Einschließen der Datei security-context.xml für ressourcenbasierte Sicherheit für einen bestimmten Endpunkt (swagger-ui.html) mit Benutzername und Kennwort.

Nach dieser Sicherheitsänderung funktioniert die benutzerdefinierte Filterauth nicht mehr, möglicherweise durch neue Sicherheitsimplementierung überschrieben. Wie kann das behoben werden?

Antwort

0

haben nicht genug Zeit, um es zu testen, bevor die Antwort setzen, aber können Sie versuchen, wie unten Ihre benutzerdefinierten Filter erstellen:

<custom-filter ref="customAuthorizationFilter" before="BASIC_AUTH_FILTER"/>

ich denke, es über den Vorrang der Filter ist.

Verwandte Themen