2

在开发过程中,我发现自己经常不得不重新启动我的应用程序,这反过来又导致手动登录的额外步骤。

我以为我可以在引导程序中添加方法调用 springSercurityService.reauthenticate('myuser') 但是我没有成功

在应用程序启动后在控制器中做同样的事情工作正常,所以它只是在引导程序中它不起作用。我调试了代码,没有看到任何明显的错误。

4

3 回答 3

2

我遇到了同样的问题,我解决它的方法是使用书签(或自定义浏览器“搜索引擎”),这使得重新登录变得非常容易。启用深度链接后,继续工作变得非常容易同一页。重新启动服务器后,只需刷新页面,它就会将您重定向到登录页面。只需激活小书签(或“搜索引擎”),它就会让您登录并将您重定向回您正在处理的页面。

我有一篇详细的博客文章,展示了如何进行此设置。

于 2012-04-22T15:11:06.437 回答
0

如果只是为了避免在开发模式下登录,您可以设置interceptUrlMap 属性。该属性将允许您以不要求您登录的方式设置开发模式。

import grails.plugins.springsecurity.SecurityConfigType

grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap

environments {
    development {
        grails.plugins.springsecurity.interceptUrlMap = [
            '/**':              ['IS_AUTHENTICATED_ANONYMOUSLY']
        ]
    }

}
于 2012-04-22T11:27:16.893 回答
0

另一种选择是添加一个 servlet 过滤器,如果环境是开发环境,它将以默认用户登录。

于 2012-04-22T17:12:17.963 回答