2015-01-23 2 views
-2

Я пытаюсь применить весеннюю безопасность 4.0 к простому spring security project by mkyong. Что я сделал замены Maven dependecies весной Безопасности в этом проекте от 3.2.2 до 4.0.0.SNAPSHOT и местоположения схемы изЕсть ли весенняя безопасность hello-world 4.0.SNAPSHOT?

http://www.springframework.org/schema/security/spring-security-3.2.xsd 

в

http://www.springframework.org/schema/security/spring-security.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" 
    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 
<!-- The line below was replaced --> 
http://www.springframework.org/schema/security/spring-security.xsd"> 

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

    <form-login 
     login-page="/login" 
     default-target-url="/welcome" 
     authentication-failure-url="/login?error" 
     username-parameter="username" 
     password-parameter="password" /> 
    <logout logout-success-url="/login?logout" /> 
    <!-- enable csrf protection --> 
    <csrf/> 
</http> 

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

И теперь это не работает. Когда я пытаюсь загрузить страницу входа, она не отображает фактическую страницу входа. Вместо этого он создает пользовательскую форму входа в систему. И учетные данные, указанные в файле конфигурации безопасности, не применяются.

Весна безопасности 3.2.8 enter image description here

После подстановки с пружинным безопасности 4.0.0

enter image description here

Что случилось с этим?

+0

Какую версию весны вы используете? – Ascalonian

+0

@Ascalonian Я попробовал borh версии 4.x и 3.x – user3663882

ответ

5

С последующими изменениями я мог бы запустить пример

весна-security.xml обновления на линии, как показано ниже

http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
http://www.springframework.org/schema/security/spring-security-4.0.xsd 

pom.xml обновление линий, как показано ниже

<spring.version>4.0.0.BUILD-SNAPSHOT</spring.version> 
<spring.security.version>4.0.0.RC1</spring.security.version> 

maven settings.xml репозиторий требуется

<repository> 
    <id>spring-milestones</id> 
    <url>http://repo.springsource.org/libs-milestone/</url> 
</repository> 
<repository> 
    <id>repository.spring.snapshot</id> 
    <url>http://repo.spring.io/snapshot</url> 
</repository> 
+0

Это шутка? Нет такой схемы безопасности. – user3663882

+0

Атрибут в 'xsi: schemaLocation' является подсказкой, поэтому он не обязательно должен существовать. Посмотрите здесь http://www.w3.org/TR/xmlschema-1/#xsi_schemaLocation Копию файла можно найти в 'spring-security-config-4.0.0.RC1.jar'в пути 'орг/springframework/безопасность/config'. – SubOptimal

+1

Да, я знаю, что для схемы используется. Но SAXParser выдаст исключение, если мы предоставим недопустимую xml-конфигурацию. Но теперь я снова сменил его на «http: // www.springframework.org/schema/security/spring-security.xsd», и он работает. Спасибо, в любом случае :). BTW, для чего используется тег csrf? – user3663882

Смежные вопросы