使用spring security丢失了grails应用程序的注销功能

时间:2014-02-03 19:06:36

标签: grails spring-security

我有一个grails应用程序,通过更改DNS移动到新子网。结果,注销功能停止工作。当我使用chrome检查网络时,我在请求标题下收到此消息:CAUTION: Provisional headers are shown.

这意味着从未进行过检索该资源的请求,因此显示的标题不是真实的。

注销功能正在执行此操作

package edu.example.performanceevaluations

import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils

class LogoutController {

    def index = {
        // Put any pre-logout code here
        redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl // '/j_spring_security_logout'
    }
}

非常欣赏一个朝向的方向。

1 个答案:

答案 0 :(得分:0)

正如该链接所建议的那样运行chrome:// net-internals并查看你是否到达任何地方

如果您仍然迷路,我建议您进行双向调试,如果您让Linux找到与您的流量相关的内容并运行类似tcpdump的内容,或者如果安装太复杂并运行ngrep -W byline -d any port 8080 -q。并寻找模式看看发生了什么。

ngrep / tcpdump并在整个流量上查找旧的ip或子网,看看是否有任何东西仍在尝试通过 - (这一切都在grails app server of course上最好 (不确定可能是端口8080或您的应用程序可能正在运行的任何其他明文端口)

在apache日志中查找你的ip当你注销时它是否会击中实际的服务器?

自子网更改后应用程序是否已重新启动,因为它可能已在运行的Java进程中缓存了应用程序的下一个点:

pgrep java|awk '{print "netstat -plant "$1" |grep  "$1 }'|/bin/sh
or  
pgrep java|awk '{print " lsof -p "$1" |grep -i listen"}'|/bin/sh

我个人认为某些地方需要重新启动,因为它挂起了一些东西。

同时检查所涉及的任何终端机器的主机文件,确保在那里没有任何物理配置的子网。