2016-05-28 7 views
-1

Meine Feder Konfigurationsdatei ist alsFrühling Sicherheitsproblem mit Http-Tag

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:jpa="http://www.springframework.org/schema/data/jpa" 
    xmlns:security="http://www.springframework.org/schema/security" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc.xsd 
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd 
    http://www.springframework.org/schema/data/jpa 
    http://www.springframework.org/schema/data/jpa/spring-jpa.xsd 
    http://www.springframework.org/schema/security 
    http://www.springframework.org/schema/security/spring-security.xsd 
    "> 

<http auto-config="true"> 
     <security:intercept-url pattern="/admin**" access="ROLE_USER" /> 
    </http> 

    <authentication-manager> 
     <authentication-provider> 
     <user-service> 
     <user name="test" password="test" authorities="ROLE_USER" /> 
     </user-service> 
     </authentication-provider> 
    </authentication-manager> 

</beans> 

folgt Jedoch habe ich den folgenden Fehler festgestellt haben

cvc-complex-type.2.4.a: Invalid content was found starting with element 'http'. One of '{"http://www.springframework.org/schema/beans":import, "http://www.springframework.org/schema/beans":alias, "http:// 
www.springframework.org/schema/beans":bean, WC[##other:"http://www.springframework.org/schema/beans"], "http://www.springframework.org/schema/beans":beans}' is expected. 

Was möglicherweise falsch sein könnte? Die Fehlerkreuzmarkierung, wie sie von Eclipse angezeigt wird, ist genau dort, wo das http-Tag beginnt.

UPDATE Ich verwende gradle und meine build.gradle Datei folgende Abhängigkeiten für Frühling hat:

compile 'org.slf4j:slf4j-api:1.7.12' 
    compile 'com.googlecode.json-simple:json-simple:1.1.1' 
    compile 'de.grundid.opendatalab:geojson-jackson:1.0' 
    compile 'org.springframework:spring-web:4.2.5.RELEASE' 
    compile 'org.springframework:spring-webmvc:4.2.5.RELEASE' 
    compile 'org.springframework:spring-jdbc:4.2.5.RELEASE' 
    compile 'org.springframework:spring-core:4.2.5.RELEASE' 
    compile 'org.springframework:spring-context:4.2.5.RELEASE' 
    compile 'org.springframework:spring-aop:4.2.5.RELEASE' 
    compile 'org.springframework.security:spring-security-web:4+' 
    compile 'org.springframework.security:spring-security-config:4+' 

Im folgenden Frühjahr Abhängigkeiten sind in Pfad mein Projekt Build: enter image description here

+0

Könnten Sie bitte Ihren Pom teilen. Xml Details für Frühling Sicherheit –

+0

Hey @MdFaraz bitte überprüfen Sie den aktualisierten Teil :). – Smrita

Antwort

2

Ihr XML-Dokument hat der Spring-Beans-Namespace als Standardnamespace. Das http-Element und die anderen Elemente von Spring Security befinden sich im Sicherheitsnamespace. Sie müssen folgendes Präfix eingeben:

<security:http auto-config="true"> 
    <security:intercept-url pattern="/admin**" access="ROLE_USER" /> 
</security:http> 

<security:authentication-manager> 
    <security:authentication-provider> 
    <security:user-service> 
     <security:user name="test" password="test" authorities="ROLE_USER" /> 
    </security:user-service> 
    </security:authentication-provider> 
</security:authentication-manager> 
+0

Hallo nach dem Hinzufügen des Sicherheits-Namespace habe ich einen anderen Fehler festgestellt: Mehrere Anmerkungen in dieser Zeile gefunden: \t - cvc-complex-type.2.4.c: Der passende Platzhalter ist streng, aber keine Deklaration kann für Element Sicherheit gefunden werden: http '. \t - schema_reference.4: Fehler beim Lesen des Schemadokuments "http://www.springframework.org/schema/security/spring-security.xsd", \t, weil 1) das Dokument nicht finden konnte; 2) das Dokument konnte nicht gelesen werden; 3) Das Wurzelelement des Dokuments ist nicht . – Smrita

+0

@ Smrita, dass XSD eine 404 aus dem Browser zurückgibt, das ist das Problem. Die Namespace-Konfiguration von meiner [Spring-Sicherheitsdatei] (https://github.com/gmazza/tightblog/blob/trunk/app/src/main/webapp/WEB-INF/security.xml) kann hilfreich sein, die Sicherheit XSD, das es verwendet (http://www.springframework.org/schema/security/spring-security-4.0.xsd) erscheint gut. –

+0

Das 404 ist normal, das xsd sollte in Klassenpfad gefunden werden, aber wenn ein versionsspezifisches xsd für Sie arbeitet, gehen Sie damit. – holmis83