【发布时间】:2013-01-10 22:33:23
【问题描述】:
我已经如下配置了 spring 身份验证,但它没有按预期工作
<sec:http auto-config="true">
<!-- Restrict URLs based on role -->
<sec:intercept-url pattern="pages/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<sec:intercept-url pattern="/css/style.css" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<sec:intercept-url pattern="pages/**" access="ROLE_USER" />
<!-- Override default login and logout pages -->
<sec:form-login login-page="/login.jsp"
default-target-url="/pages/products.xhtml"
authentication-failure-url="/login.html?login_error=1" />
<sec:logout logout-url="/logout" logout-success-url="/login.jsp" />
</sec:http>
在服务器启动时,我被重定向到 login.jsp,如果我使用登录表单,到目前为止我被重定向到 products.xhtml,但如果我直接访问 products.xhtml,它只允许我访问 product.xhtml (即使在关闭 broser 甚至在服务器重新启动之后)而不是重定向到 login.jsp 。谁能告诉我我到底错过了什么?
感谢和问候 维杰
【问题讨论】:
-
也许您还没有注销仍然有一个有效的会话?
-
@micha 我退出了。我测试了在服务器重新启动后直接访问 products.xhtml,它允许我访问而不是重定向到登录表单
-
你在web.xml中添加spring安全过滤器了吗?
-
@Mich yes as
org.springframework.security.web.session.HttpSessionEventPublisher springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* 60
标签: spring-mvc spring-security