【问题标题】:lost logout functionality for grails app using spring security使用 Spring Security 丢失了 Grails 应用程序的注销功能
【发布时间】:2014-02-04 06:35:31
【问题描述】:

我有一个 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'
    }
}

非常感谢一个方向。

【问题讨论】:

标签: grails spring-security


【解决方案1】:

按照该链接的建议,运行 chrome://net-internals 并查看您是否到达任何地方

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

ngrep/tcpdump 并在整个流量中查找旧 ip 或子网,看看是否有任何东西仍在尝试通过 - (这在 grails 应用程序服务器上都是最好的) (不确定端口 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

我个人认为某处的某些东西需要重新启动,因为它连接到某物的缓存。

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

【讨论】:

    猜你喜欢
    • 2013-02-15
    • 2013-07-21
    • 2016-07-14
    • 2015-04-07
    • 2012-10-01
    • 2017-08-10
    • 2011-06-08
    • 2011-08-20
    • 2017-09-19
    相关资源
    最近更新 更多