在grails中注销后,用户仍然可以查看上一页

时间:2012-11-16 11:35:02

标签: grails

在我的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'
 }
}

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

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

1 个答案:

答案 0 :(得分:7)

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

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

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

response.setDateHeader("Expires", 0); 

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

%>