【发布时间】:2017-10-27 08:40:03
【问题描述】:
问题: 我在页面上有一个按钮,它激活了一个 JQuery 脚本:
function loadPage(elementId, typeId) {
alert("loadPage/" + typeId);
$("#" + elementId).load("loadPage/" + typeId);
}
但是当我在会话过期后点击它时,我并没有重定向到登录页面,而是在父页面中加载了登录页面,这不是我需要的。
安全配置:
<http auto-config="true">
<intercept-url pattern='/login' access='permitAll' />
<intercept-url pattern='/**' access="hasRole('ROLE_ADMIN')"/>
<form-login login-page="/login" authentication-failure-url="/login?error"
default-target-url="/projects"
username-parameter="email" password-parameter="password"/>
<logout logout-success-url="/login?logout"/>
</http>
<security:authentication-manager id="authenticationManager">
<security:authentication-provider user-service-ref="userServiceImpl">
<!--<password-encoder ref="encoder"></password-encoder>-->
</security:authentication-provider>
</security:authentication-manager>
登录控制器:
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String loginPage() {
return "login";
}
现在我不知道如何处理它。如何将此行为更改为重定向到登录页面?
【问题讨论】:
-
您需要检查会话是否已结束,如果已结束则重定向到登录页面。否则它只会继续将登录页面加载到#id中。如果会话返回错误代码,您可以使用它。
-
@Anuga ,是的,我正在考虑在 .load() 之前进行检查,但我还不知道该怎么做。将在这方面提供任何帮助
-
你没有会话cookie吗?你应该有?你可以检查一下,如果它仍然“活跃”,你可以运行这个函数。
标签: java jquery spring-mvc spring-security