我想为spring除安全性中的登录屏幕URL之外的所有URL提供安全性, 但我不想使用会话管理。
请帮我解决这个问题。 我的安全上下文文件在
下面<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>
答案 0 :(得分:2)
intercept-url
代码的排序错误。引自reference docs:
您可以使用多个元素为不同的URL集定义不同的访问要求,但它们将按列出的顺序进行评估,并将使用第一个匹配项。所以你必须把最具体的比赛放在最上面。
将带有通用匹配模式的intercept-url
移动到列表底部。