4

在我的 grails 项目中,我使用的是 spring security core 插件。我提供了注销链接为

<g:link controller="logout">Logout</g:link> in my gsp pages. 

LogoutController 中的代码为:

class LogoutController {

/**
 * Index action. Redirects to the Spring security logout uri.
 */
def index = {
    // TODO put any pre-logout code here
        session.invalidate()
        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
 }
}

当用户单击它时,它将用户重定向到登录页面。但是如果用户点击浏览器的后退按钮,用户可以看到之前的工作页面。我不想将他重定向到上一页,他应该留在登录页面。我能为它做些什么?

附加信息:我创建了一个标签库来检查登录用户的用户名。如果它是匿名的,它会重定向到登录页面或将其发送到主页。但是它的工作,用户必须点击一些东西。因为当前注销后,用户可以通过单击后退按钮查看上一页。我不想在上一页重定向他。他应该留在登录页面。

4

1 回答 1

8

很简单,只需将此代码放入您的所有页面中:

<%
response.setHeader("Cache-Control","no-cache");  

response.setHeader("Cache-Control","no-store");     

response.setDateHeader("Expires", 0); 

response.setHeader("Pragma","no-cache");

%>
于 2013-07-07T18:27:00.860 回答