在开发过程中,我发现自己经常不得不重新启动我的应用程序,这反过来又导致手动登录的额外步骤。
我以为我可以在引导程序中添加方法调用 springSercurityService.reauthenticate('myuser') 但是我没有成功
在应用程序启动后在控制器中做同样的事情工作正常,所以它只是在引导程序中它不起作用。我调试了代码,没有看到任何明显的错误。
在开发过程中,我发现自己经常不得不重新启动我的应用程序,这反过来又导致手动登录的额外步骤。
我以为我可以在引导程序中添加方法调用 springSercurityService.reauthenticate('myuser') 但是我没有成功
在应用程序启动后在控制器中做同样的事情工作正常,所以它只是在引导程序中它不起作用。我调试了代码,没有看到任何明显的错误。
我遇到了同样的问题,我解决它的方法是使用书签(或自定义浏览器“搜索引擎”),这使得重新登录变得非常容易。启用深度链接后,继续工作变得非常容易同一页。重新启动服务器后,只需刷新页面,它就会将您重定向到登录页面。只需激活小书签(或“搜索引擎”),它就会让您登录并将您重定向回您正在处理的页面。
我有一篇详细的博客文章,展示了如何进行此设置。
如果只是为了避免在开发模式下登录,您可以设置interceptUrlMap 属性。该属性将允许您以不要求您登录的方式设置开发模式。
import grails.plugins.springsecurity.SecurityConfigType
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
environments {
development {
grails.plugins.springsecurity.interceptUrlMap = [
'/**': ['IS_AUTHENTICATED_ANONYMOUSLY']
]
}
}
另一种选择是添加一个 servlet 过滤器,如果环境是开发环境,它将以默认用户登录。