gpt4 book ai didi

java - Spring + Tomcat - 在表单登录中禁用前置的应用程序模块名称

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

在我们的 Spring 安全 XML 文件中,我有一个 form-login 配置标签:

<form-login always-use-default-target="true" 
authentication-failure-url="/"
default-target-url="/bo/bo"
login-page="/"
login-processing-url="/login"
password-parameter="password"
username-parameter="login"/>

我的应用名为“myapp”,可从 localhost:8080/myapp 访问。

当我成功登录时,它会转到 localhost:8080/myapp/bo/bo,这是预期的。

但是,现在我有一个指向 Tomcat 上的 ip:port/myapp 的域(比如 mywebsite.com),现在发生的事情是当我登录时从mywebsite.com解析为ip:port/myapp/myapp/bo/bo,你可以在路径中看到双应用名称(myapp)。第一个 myapp 来自域 DNS 重定向设置(它必须在那里才能在 Tomcat 中运行),第二个 myapp 似乎来自表单登录 Spring 安全 XML 中的 default-target-url。

如何禁用此行为并使 URL 正确解析为 ip:port/myapp/bo/bo

[我是围绕 Spring 框架构建的 CUBA 平台。]

谢谢,

最佳答案

看来这个问题已经在这里得到了回答:https://www.cuba-platform.com/discuss/t/change-cuba-development-mode-to-production-mode-to-get-rid-of-auto-prepended-app-portal-in-url/2678

简而言之,将您的门户应用程序作为 ROOT 应用程序部署到 tomcat。这意味着您应该将 tomcat/webapps/app-portal 文件夹重命名为 tomcat/webapps/ROOT,以便您的应用程序将部署到/。

然后在 tomcat/conf/ROOT/local.app.properties 中设置 cuba.webContextName

cuba.webContextName = /

您的门户网站可通过 http://domain.domain-zone/ 访问

不要为此/部署更改应用程序代码,只需调整应用程序设置即可。

关于java - Spring + Tomcat - 在表单登录中禁用前置的应用程序模块名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46495876/

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