2016-06-20 6 views
2

ich zwei separate Projekte bin Entwicklung: Die eine ist Polymer App mit Service worker (rüstet mit Polymer CLI) und die zweite Anwendung ist Spring Boot mit Vaadin und seine itegration Bibliothek Vaadin Spring. Beide Anwendungen laufen unter localhost:8080.Browser ist auf Service-worker.js umgeleitet

In der SpringBoot App wird nicht authentifizierter Benutzer zu /login umgeleitet. Nach erfolgreicher Authentifizierung sollte der Benutzer zurück zu / umgeleitet werden, wird aber stattdessen zu URL http://localhost:8080/service-worker.js umgeleitet, wo Standard-Feder 404 Seite angezeigt wird. Wenn ich die URL manuell zurück auf / ändere, funktioniert die SpringBoot App wieder.

  • dieses Verhalten aufgetreten, nachdem ich auf Polymer app arbeitete und wechselte
  • getestet auf Chrome und Firefox SpringBoot
  • Clearing-Browser-Cache hilft
  • Vaadin auch Hash-Bang

I verwendet kann die Ursache des Problems nicht finden (wenn es Polymer oder SpringBoot + Vaadin ist) und das Löschen des Cache oder das manuelle Ändern der URL jedes Mal ist frustrierend.

EDIT:

Ich bin mit Standard-Handler SavedRequestAwareVaadinAuthenticationSuccessHandler von Vaadin Spring zur Verfügung gestellt. Es sollte zurück zur vorherigen URL oder zur Fallback-URL / umgeleitet werden.

@Bean(name = VaadinSharedSecurityConfiguration.VAADIN_AUTHENTICATION_SUCCESS_HANDLER_BEAN) 
VaadinAuthenticationSuccessHandler vaadinAuthenticationSuccessHandler(@SuppressWarnings("SpringJavaAutowiringInspection") HttpService httpService, VaadinRedirectStrategy vaadinRedirectStrategy) { 
    return new SavedRequestAwareVaadinAuthenticationSuccessHandler(httpService, vaadinRedirectStrategy, "/"); 
} 
+0

Bitte posten Sie Ihren Code, der nach dem Login weiterleitet. –

Antwort

1

Ich hatte das gleiche Problem. Dies ist eine Browser-Sache, und Sie können nicht von Ihrer Anwendung oder auf der Serverseite notieren.

Ich löste ti, indem ich Servicearbeiter für localhost Adresse in Chrom manuell löschte.

Sie können es tun, indem Entwickler-Tools in Chrom öffnen -> Tab Ressourcen -> Service Workers
Finden Sie Ihre Servicemitarbeiter auf spezifische URL, zum Beispiel http://localhost:8080/login und löschen.

Eine andere Alternative ist die Verwendung verschiedener localhost (localhost, 127.0.0.1, 127.0.0.2) IP-Adressen für die Entwicklung von Polymeranwendungen und Vadin-Anwendungen.

Verwandte Themen