我正在使用另一个root.war应用程序处理服务器上的grails应用程序。目前我们使用apache重定向来隐藏上下文路径(我们的grails应用程序的名称),因为我们已经有了root.war,我们不希望它显示在我们所有的URL上。这适用于我们的公共内容。但是,现在我们已经使用spring安全核心插件添加了一些经过身份验证的内容,它总是重定向以包含上下文路径。因此,url /authcontent/page.gsp被重定向到/appname/authcontent/page.gsp。有些人提到你可以通过在tomcat中创建一个单独的虚拟主机来删除上下文路径,但我想知道是否有办法覆盖Spring Security用于在过滤器链中进行重定向的机制。也许覆盖RequestCacheAwareFilter?但我相信只在初始身份验证后才使用过滤器。我已经阅读了春季安全文档,但它并没有像整个身份验证和授权过程那样谈论重定向请求,所以我想知道这是否在插件本身。任何想法都会有所帮助。
答案 0 :(得分:0)
您可以在 Config.groovy 文件中删除应用内容:
environments {
development {
grails.logging.jul.usebridge = true
grails.serverURL = "http://localhost:8080"
grails.app.context = "/"
}
production {
grails.logging.jul.usebridge = false
grails.serverURL = "http://yourwebsite.com"
grails.app.context = "/"
}
}
希望有所帮助。
答案 1 :(得分:0)
有很多方法可以做到这一点。我试过的两个覆盖了requestCache
bean(但是你还必须覆盖DefaultSavedRequest
)并覆盖我正在使用的redirectStategy
bean,因为它更简单。