gpt4 book ai didi

tomcat - 请求上下文路径 grails spring security

转载 作者:行者123 更新时间:2023-11-28 23:04:11 25 4
gpt4 key购买 nike

基本问题是我们是否需要以 ROOT.war 身份运行我们的 war 以获得正确的 spring 安全上下文路径?

背景:

我们有一个使用 spring security 插件的 grails 应用程序。它由 nginx 代理,war 在 tomcat 中不作为 ROOT.war 运行。

Web site: https://www.example.com
Login: https://www.example.com/login

war 名称是 foo.war,nginx 将请求代理到 http://tomcat:8080/foo

Spring 安全正在使用:${request.contextPath}

我们是将应用安装为 ROOT.war 还是在 grails spring security 中有一个我们可以修改的上下文路径变量?

spring security auth cookies 被设置为路径中的/foo ... 并且我们的 session 管理无法正常工作。

最佳答案

@Ian-Roberts 是正确的。

您不能只使用 grails.app.context = '/foo'grails.app.context = '/'。我似乎认为 Tomcat 正在扰乱应用程序上下文,因此您必须将其作为 ROOT.war 运行。

说明:

  • 您确实需要在 Config.groovy 中使用 grails.app.context = '/' 才能执行 grails run-app
  • grails war ROOT.war
  • 将您的 war 文件复制到 tomcat webapps 文件夹中的 ROOT.war 中。
  • 创建一个 ROOT.xml 文件

$TOMCAT_CONF/Catalina/localhost 中的 ROOT.xml

<Context path="" antiResourceLocking="false" privileged="true" >
<Resource name="jdbc/****x"
auth="Container"
type="javax.sql.DataSource"
maxActive="300"
edited :)
/>
<Resource name="jdbc/***"
auth="Container"
edited :)
/>
</Context>

因为我遇到了 URL 映射错误。哦,不要试图在 AppBase 之外运行 war ,因为 tomcat 不会扩展它,所有的 hell 都会爆发:)

关于tomcat - 请求上下文路径 grails spring security,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com