spring-security-web错误加载上下文

时间:2013-02-05 13:04:25

标签: java spring junit spring-security

我正在尝试使用Web Security Expressions但是当我在单元测试中加载上下文时,我得到org.xml.sax.SAXParseException: The markup declarations contained or pointed to by the document type declaration must be well-formed

我的上下文文件如下所示:

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

 // various beans here

 <sec:http use-expressions="true">
   <sec:intercept-url pattern="/admin*"
      access="hasRole('admin') and hasIpAddress('192.168.1.0/24')"/>
  </sec:http>

</beans>

如果我不包含<sec:http>标签,我就不会收到错误消息。如果我只包含<sec:http/>,我会收到错误。

在我的pom中,我已经包括:

<dependancy>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>3.0.5.RELEASE</version>
</dependancy>

2 个答案:

答案 0 :(得分:1)

像这样的DTD文件

http://www.springframework.org/schema/security/spring-security-3.0.xsd
在每个解析操作期间,

必须可用于XML解析器。让它们可用,问题就会消失。

答案 1 :(得分:0)

证明spring安全的模式在spring-security-config jar中。我需要那种依赖。