[英]Spring Security : configuration error
我无法解决这个问题,我有4级以上的XSD版本,为什么还有冲突呢?
我正在使用Spring JAR,它们都有版本4或更高版本,但仍然出错。
以下是spring-security.xml
XSD:
<?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: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/security http://www.springframework.org/schema/security/spring-security-4.1.xsd">
<security:http auto-config="true"> <!-- ////this line holds error/////-->
<security:intercept-url pattern="/"
access="hasRole('ROLE_ADMIN')" />
<security:form-login login-page="/login"
default-target-url="/" authentication-failure-url="/loginerror" />
<security:logout logout-success-url="/logout" />
<security:csrf disabled="true" />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:user-service>
<security:user name="admin" authorities="ROLE_ADMIN"
password="admin" />
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>
</beans>
以下是错误:
在此行找到多个注释: - 配置问题:您不能在Spring Security 3.1中使用spring-security-2.0.xsd或spring-security-3.0.xsd架构。 请将架构声明更新为3.1架构。 违规资源:文件[C:/ Documents and Settings / Administrator / My Documents / Google Drive / spring_workspace / spring security_demo / WebContent / WEB-INF / security-context.xml] - 您不能使用spring-security-2.0.xsd或Spring Security 3.1的spring-security-3.0.xsd模式。 请将架构声明更新为3.1架构。
这是我的调度程序servlet架构:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">
首先,我认为我提到的.xsd
文件中存在冲突,但现在两个'.xsd'文件都有相同的模式。
编辑:活动详情
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:您不能在Spring Security 3.1中使用spring-security-2.0.xsd或spring-security-3.0.xsd架构。 请将架构声明更新为3.1架构。 违规资源:文件[C:/ Documents and Settings / Administrator / My Documents / Google Drive / spring_workspace / spring security_demo / WebContent / WEB-INF / security-context.xml]
在org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ BeansConfigProblemReporter.fatal(BeansConfig.java:1137)
在org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:68)
在org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:55)
在org.springframework.security.config.SecurityNamespaceHandler.parse(SecurityNamespaceHandler.java:66)
at org.springframework.ide.eclipse.beans.core.internal.model.namespaces.DelegatingNamespaceHandlerResolver $ ElementTrackingNamespaceHandler.parse(DelegatingNamespaceHandlerResolver.java:177)
在org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1411)
在org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ ErrorSuppressingBeanDefinitionParserDelegate.parseCustomElement(BeansConfig.java:1428)
在org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1401)
在org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:172)
在org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ ToolingFriendlyBeanDefinitionDocumentReader.doRegisterBeanDefinitions(BeansConfig.java:1357)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:94)
在org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508)
在org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig $ 2.registerBeanDefinitions(BeansConfig.java:410)
怎么解决?
你的例外说
您不应该使用4.1 xsd,因为您的Spring安全版本是3.1
在下面的行中你提到了弹簧安全版本为4.1,它应该是3.1
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.1.xsd">
两种解决方法
http://www.springframework.org/schema/security/spring-security-3.1.xsd
http://www.springframework.org/schema/security/spring-security.xsd
更新:将use-expressions属性添加到http
。因为您正在使用表达式hasRole('Role_Admin')
您必须提供此属性。
<security:http auto-config="true" use-expressions="true">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.