2013-03-26 109 views
0

我想为所有URL设置安全性,除了弹簧安全中的登录屏幕URL, 但我不想使用会话管理。在Spring Security中删除会话

请帮我解决这个问题。 我的安全上下文文件低于

<security:http pattern="/" security="none" /> 

<security:http auto-config="false" use-expressions="true" create-session="stateless" access-denied-page="/" entry-point-ref="authenticationEntryPoint" > 
    <security:intercept-url pattern="/**" access="isAuthenticated()" />  
    <security:intercept-url pattern="/logout" access="permitAll" /> 
    <security:intercept-url pattern="/logout.jsp" access="permitAll" /> 
    <security:logout logout-url="/j_spring_security_logout" /> 
    <security:custom-filter ref="authenticationFilter" position="FORM_LOGIN_FILTER"/> 
</security:http> 

回答

2

intercept-url标记的顺序是错误的。从reference docs报价:

您可以使用多个元素来定义多套不同的URL的不同访问需求,但他们会在列出的顺序进行评估,第一场比赛将被使用。所以你必须把最具体的比赛放在最上面。

将具有通用匹配模式的intercept-url移动到列表的底部。