Shinyproxy: Zielseite

Erstellt am 28. Jan. 2021  ·  3Kommentare  ·  Quelle: openanalytics/shinyproxy

Ich habe mich gefragt, ob es eine Möglichkeit gibt, dass der Benutzer nach der Authentifizierung, wenn er zu einer Gruppe mit nur einer App gehört , bereits zur App weitergeleitet wird, ohne auf den Link auf der Zielseite klicken zu müssen?

Wenn es jetzt keine Möglichkeit gibt, was wäre die Quelldatei, die ich ändern könnte, um dies zu erreichen?

Danke!
Felipe

question

Hilfreichster Kommentar

Hallo @fmmationi

AFAIK gibt es derzeit keine Standardmethode dafür in ShinyProxy. Sie können jedoch versuchen, eine Vorlage zu erstellen, die dies tut.
Unter https://github.com/openanalytics/shinyproxy-config-examples/tree/master/04-custom-html-template erfahren Sie, wie Sie ShinyProxy für die Verwendung benutzerdefinierter Vorlagen konfigurieren.

Sie könnten beispielsweise den folgenden Code in die Vorlage index.html einfügen, kurz vor </head>

    <script th:if="${apps.length == 1}">
        window.location.replace("/app/rstudio");
    </script>

Dies ist nicht der schönste Weg, aber es funktioniert, ohne ShinyProxy neu kompilieren zu müssen.

Wenn es Ihnen nichts ausmacht, ShinyProxy neu zu kompilieren, können Sie den folgenden Code hinzufügen:

        if (apps.length == 1) {
            return "redirect:/app/" + apps[0].getId();
        }

nach Zeile 45 von IndexController siehe: https://github.com/openanalytics/shinyproxy/blob/master/src/main/java/eu/openanalytics/shinyproxy/controllers/IndexController.java#L46

Alle 3 Kommentare

Hallo @fmmationi

AFAIK gibt es derzeit keine Standardmethode dafür in ShinyProxy. Sie können jedoch versuchen, eine Vorlage zu erstellen, die dies tut.
Unter https://github.com/openanalytics/shinyproxy-config-examples/tree/master/04-custom-html-template erfahren Sie, wie Sie ShinyProxy für die Verwendung benutzerdefinierter Vorlagen konfigurieren.

Sie könnten beispielsweise den folgenden Code in die Vorlage index.html einfügen, kurz vor </head>

    <script th:if="${apps.length == 1}">
        window.location.replace("/app/rstudio");
    </script>

Dies ist nicht der schönste Weg, aber es funktioniert, ohne ShinyProxy neu kompilieren zu müssen.

Wenn es Ihnen nichts ausmacht, ShinyProxy neu zu kompilieren, können Sie den folgenden Code hinzufügen:

        if (apps.length == 1) {
            return "redirect:/app/" + apps[0].getId();
        }

nach Zeile 45 von IndexController siehe: https://github.com/openanalytics/shinyproxy/blob/master/src/main/java/eu/openanalytics/shinyproxy/controllers/IndexController.java#L46

Das ist fantastisch!!!

Danke!!!

Tobias,

Vielleicht können Sie der Liste der Funktionen für die nächste Version eine zweite Lösung hinzufügen. Zusammen mit einem Schalter in der Datei application.yml.

Es ist wirklich eine viel bessere Lösung für Benutzer mit einer App als eine Landingpage oder ein direkter Link zur App.

Dusan

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen