2013-03-19 17 views
8

Mam aplikacji zabezpieczeń wiosną i po to mój bezpieczeństwem contex.xmlKonfiguracja kwestią bezpieczeństwa sprężyny

<?xml version="1.0" encoding="UTF-8"?> 
<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-3.0.xsd 
      http://www.springframework.org/schema/security 
      http://www.springframework.org/schema/security/spring-security-3.0.3.xsd"> 

    <http auto-config='true'> 
     <intercept-url pattern='/login*' filters='none' /> 
     <intercept-url pattern='/**' access='ROLE_USER' /> 
     <form-login login-page='/login' default-target-url='/home' 
      always-use-default-target='true' /> 
    </http> 
    <authentication-manager> 
     <authentication-provider> 
      <user-service> 
       <user name="anto" password="anto" authorities="ROLE_USER, ROLE_ADMIN" /> 
       <user name="raj" password="raj" authorities="ROLE_USER" /> 
      </user-service> 
     </authentication-provider> 
    </authentication-manager> 

</beans:beans> 

otrzymuję ten wyjątek:

problemem Konfiguracja: Nie można użyć Spring- Security-2.0.xsd Schema ze Spring Security 3.0. Zaktualizuj deklaracje schematu do wersji w schemacie 3.0.

Mogłem zrozumieć problem, ale nie wiem, gdzie się zmienić.

Chcę, aby formularz logowania i wylogowania pojawiał się automatycznie.

EDIT : 

My pom.xml 

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.anto</groupId> 
    <artifactId>simpleauthentication</artifactId> 
    <name>SimpleAuthentication</name> 
    <packaging>war</packaging> 
    <version>1.0.0-BUILD-SNAPSHOT</version> 
    <properties> 
     <java-version>1.6</java-version> 
     <org.springframework-version>3.1.1.RELEASE</org.springframework-version> 
     <org.aspectj-version>1.6.10</org.aspectj-version> 
     <org.slf4j-version>1.6.6</org.slf4j-version> 
     <spring-security.version>3.0.2.RELEASE</spring-security.version> 
    </properties> 
    <dependencies> 
     <!-- Spring --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${org.springframework-version}</version> 
      <exclusions> 
       <!-- Exclude Commons Logging in favor of SLF4j --> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>${org.springframework-version}</version> 
     </dependency> 
       <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-core</artifactId> 
      <version>${spring-security.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      <version>${spring-security.version}</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
    <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-web</artifactId> 
      <version>${spring-security.version}</version> 
     </dependency> 
    <dependency> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-taglibs</artifactId> 
      <version>${spring-security.version}</version> 
     </dependency> 
       <dependency> 
      <groupId>commons-pool</groupId> 
      <artifactId>commons-pool</artifactId> 
      <version>1.5.4</version> 
      <exclusions> 
       <exclusion> 
        <groupId>commons-logging</groupId> 
        <artifactId>commons-logging</artifactId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
     <!-- AspectJ --> 
     <dependency> 
      <groupId>org.aspectj</groupId> 
      <artifactId>aspectjrt</artifactId> 
      <version>${org.aspectj-version}</version> 
     </dependency> 

     <!-- Logging --> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>${org.slf4j-version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>jcl-over-slf4j</artifactId> 
      <version>${org.slf4j-version}</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>${org.slf4j-version}</version> 
      <scope>runtime</scope> 
     </dependency> 
     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.15</version> 
      <exclusions> 
       <exclusion> 
        <groupId>javax.mail</groupId> 
        <artifactId>mail</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>javax.jms</groupId> 
        <artifactId>jms</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>com.sun.jdmk</groupId> 
        <artifactId>jmxtools</artifactId> 
       </exclusion> 
       <exclusion> 
        <groupId>com.sun.jmx</groupId> 
        <artifactId>jmxri</artifactId> 
       </exclusion> 
      </exclusions> 
      <scope>runtime</scope> 
     </dependency> 

     <!-- @Inject --> 
     <dependency> 
      <groupId>javax.inject</groupId> 
      <artifactId>javax.inject</artifactId> 
      <version>1</version> 
     </dependency> 

     <!-- Servlet --> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.5</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet.jsp</groupId> 
      <artifactId>jsp-api</artifactId> 
      <version>2.1</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency> 

     <!-- Test --> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.7</version> 
      <scope>test</scope> 
     </dependency>   
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-eclipse-plugin</artifactId> 
       <version>2.9</version> 
       <configuration> 
        <additionalProjectnatures> 
         <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> 
        </additionalProjectnatures> 
        <additionalBuildcommands> 
         <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> 
        </additionalBuildcommands> 
        <downloadSources>true</downloadSources> 
        <downloadJavadocs>true</downloadJavadocs> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <compilerArgument>-Xlint:all</compilerArgument> 
        <showWarnings>true</showWarnings> 
        <showDeprecation>true</showDeprecation> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.2.1</version> 
       <configuration> 
        <mainClass>org.test.int1.Main</mainClass> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
+0

Prawdopodobnie masz Spring Security 2.0 w swojej ścieżce klas. – Xaerxess

+0

zobacz moją EDYCJĘ. –

Odpowiedz

9

Masz błędne wersje Wiosna zabezpieczeń w pom.xml oraz bezpieczeństwem contex.xml: pierwsza punktów do 3.0.2, ale ten ostatni chce 3.0.3, więc albo:

  • aktualizacja pom.xml do 3.0.3 (lub nowszego)
  • lub użyj http://www.springframework.org/schema/security/spring-security-3.0.xsd w swojej konfiguracji zabezpieczeń.

BTW Czy istnieje powód, aby nie używać one of current Spring Security versions (3.0.8/3.1.3)?

+0

Niestety nie udało się rozwiązać problemu. –

+0

@Anto Co dokładnie zrobiłeś? – Xaerxess

+0

zaktualizował pom.xml także konfigurację zabezpieczeń do najnowszej wersji. Praktycznie ta sama wersja w pom.xml i konfiguracji zabezpieczeń –

1

Zastąp swoją lokalizację XSD i schematu poniższym kodem. Myślę, że problemem jest brak bezpieczeństwa xsd.

<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" 
xmlns:security="http://www.springframework.org/schema/security" 
xmlns:mvc="http://www.springframework.org/schema/mvc" 
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 
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> 
+0

Nie, to też mi nie pomogło :( –

0

To brzmi dla mnie jak przejściowe problemy z zależnościami, na które czasami natknąłem się. Przeprowadź mvn dependency:tree, aby potwierdzić, że twój projekt importuje właściwe zależności i czy nie występują przejściowe zależności powodujące problemy, a następnie wyklucz wszystkie, które nie powinny być częścią twojego projektu.

0

Mam podobny problem i został spowodowany przez zależność przechodnia maven.

mój internetowej projekt ma następujące Zależności moim pom.xml

<dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>3.2.11.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>3.2.11.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>3.2.11.RELEASE</version> 
    </dependency> 

mój modelu projekt ma następującą zależność w jego pom.xml

<dependency> 
     <groupId>org.springframework.security.extensions</groupId> 
     <artifactId>spring-security-saml2-core</artifactId> 
     <version>1.0.0.RELEASE</version> 
    </dependency> 

internetowej projekt jest zależny od projektu model, więc kiedy uruchamiam mój projekt internetowy, mam Błąd konfiguracji

problemem Konfiguracja: Nie można użyć schematu wiosna-security-3.0.xsd z wiosennym Bezpieczeństwa 3.1. Zaktualizuj deklaracje schematu do wersji 3..

Uruchamianie zależności mvn: drzewo ujawnia, że ​​wiosna-bezpieczeństwo-saml2-core zależy od spring-security-config (ver 3.1.2.RELEASE)

[INFO] + -org.springframework.security.extensions: wiosna-security-saml2-core: słoik: 1.0.0.RELEASE: skompilować

[INFO] | + -org.springframework.security: spring-security-config: jar: 3.1.2.RELEASE: compile [INFO] | - XML-API XML-apis: słoik: 04/01/01: skompilować

Ponieważ używam wersji 3.2.11.RELEASE w projekcie internetowej, rozwiązaniem jest, aby wykluczyć złe przechodni zależność

<dependency> 
     <groupId>org.springframework.security.extensions</groupId> 
     <artifactId>spring-security-saml2-core</artifactId> 
     <version>1.0.0.RELEASE</version> 
     <exclusions> 
      <exclusion> 
      <groupId>org.springframework.security</groupId> 
      <artifactId>spring-security-config</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

To rozwiązuje problem dla mnie.

Powiązane problemy