2017-09-29 2 views
0

In unserem Spring Security XML-Datei, ich habe einen form-login Konfiguration tag:Spring + Tomcat - Deaktivieren vorangestellte App Modulnamen in 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"/> 

Meine App "myapp" genannt, und es ist erreichbar von localhost:8080/myapp .

Wenn ich mich erfolgreich anmelde, geht es zu localhost:8080/myapp/bo/bo, was erwartet wird.

aber jetzt habe ich eine Domain (zB mywebsite.com), die ip:port/myapp auf Tomcat zeigt, und was jetzt passiert ist, dass, wenn ich von mywebsite.com anmelden, es in ip:port/myapp/myapp/bo/bo löst, und Sie können den Doppel App-Namen (myapp) sehen in dem Weg. Die erste myapp stammt aus der Domain-DNS-Redirect-Einstellung (sie muss dort sein, um in Tomcat zu laufen), und die zweite myapp scheint irgendwie von der Default-Target-URL in der Form-Login-Spring-Sicherheits-XML zu sein.

Wie kann ich dieses Verhalten deaktivieren und die URL-Auflösung rechts auf ip:port/myapp/bo/bo bekommen?

[Ich bin KUBA-Plattform, die sich um Spring-Framework bauen.]

Danke,

Antwort

2

Es scheint, dass diese Frage bereits beantwortet ist: 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

Kurz gesagt, Bereitstellung Ihrer Portalanwendung als ROOT-Anwendung für Tomcat. Dies bedeutet, dass Sie den Ordner tomcat/webapps/app-portal in tomcat/webapps/ROOT umbenennen sollten, damit Ihre Anwendung zu/bereitgestellt wird.

Nach diesem Satz cuba.webContextName in tomcat/conf/ROOT/local.app.properties

cuba.webContextName =/

Und Ihr Portal wird bei http://domain.domain-zone/

zugänglich sein können hierfür nicht Code, um die Anwendung ändern/Bereitstellung, nur App-Einstellungen tunen.

+0

Oh ja, ich habe vergessen, meine eigene Frage zu beantworten. Mein Vater war derjenige, der diese Frage gestellt hat; wir folgten der Antwort und es funktionierte. Ich werde deine sowieso aufwerten. –

0

Danke @YuriyArtamonov von CUBA für die Beantwortung der Frage!

Wie hier diskutiert: 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/3

Bereitstellung Ihre Portalanwendung als ROOT Anwendung Kater. Dies bedeutet, dass Sie tomcat/webapps/app-portal folder tomcat/webapps/ROOT umbenennen sollten, damit Ihre Anwendung nach/bereitgestellt wird.

Nach diesem Satz cuba.webContextName in tomcat/conf/app-Portal/local.app.properties

cuba.webContextName =/ Und Ihr Portal wird bei http://domain.domain-zone/

Sie nicht die zugänglich sein ändern Anwendungscode für diese/Bereitstellung, nur App-Einstellungen tunen. Das sollte genug sein.

Verwandte Themen