1

我正在使用 GGTS 和 Grails 2.2.0 并且已经实现了 Spring Security 和 Basic Auth 以及以下选项

配置文件

grails.plugins.springsecurity.useBasicAuth = true
grails.plugins.springsecurity.digest.realmName = 'someval' 

注销控制器{

def index = {
    redirect uri: SpringSecurityUtils.securityConfig.logout.filterProcessesUrl  
}

当我点击注销时——它不会将用户注销,而是将我带回主页。我查看了论坛,但没有找到任何有效的方法。

我想确保无论实施何种解决方案,都完全注销使用,并且用户在不重新登录的情况下无法返回原始页面。

任何指针/建议表示赞赏。

4

1 回答 1

2

问题是 HTTP 基本身份验证。它没有指定注销的方式。我相信有一些“非官方”方法有效(请参阅如何使用 BASIC 身份验证从网站注销用户?),但 Spring Security 似乎没有使用它们。

最好的解决方案是完全避免基本身份验证。如果这不是一个选项,您将不得不编写一个自定义 LogoutController,例如发送回 401 错误代码。

于 2013-02-28T22:57:43.177 回答