尝试设置security =" none"时SaxParseException在URL拦截器中

时间:2014-11-18 16:15:08

标签: spring spring-security

我试图通过使用

来忽略当前Spring应用程序中的一个URL上的安全检查(它有自己的加密设置)
<sec:intercept-url pattern="/notimportant/url**" security="none" />

但我得到

nested exception is org.xml.sax.SAXParseException: cvc
-complex-type.3.2.2: Attribute 'security' is not allowed to appear in element 
'sec:intercept-url'.

以下是命名空间设置:

<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.2.xsd
                    http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">

那么如何才能完全避免对该网址进行身份验证

2 个答案:

答案 0 :(得分:1)

使用filters="none"代替security="none"尝试。

<sec:intercept-url pattern="/notimportant/url**" filters="none" />

但是在Spring 3.1中不推荐使用它,所以你可以试试这个

<sec:http pattern="/notimportant/url**" security="none"/>

查看the documentation了解详情。

答案 1 :(得分:1)

这是因为security不是元素intercept-url的有效属性。尝试使用access="IS_AUTHENTICATED_ANONYMOUSLY",如下所示:

<sec:intercept-url pattern="/notimportant/url**" access="IS_AUTHENTICATED_ANONYMOUSLY" />