# eCockpit - Login Seite und dann Startseite der Visu



## logisch (21 August 2021)

Hallo zusammen,

ich möchte gerne eine Visu erstellen, bei der es eine Login Seite gibt. Nachdem Login möchte ich auf die eigentliche Startseite der Visu springen. Das mit der Benutzerverwaltung habe ich soweit verstanden, aber wie kann ich danach auf die eigentliche Startseite der Visu springen?

Vorab schon mal vielen Dank für eure Bemühungen!

Viele Grüße
logisch


----------



## Blockmove (21 August 2021)

Du kannst im WBM einstellen ob er standardmässig das WBM oder die Visu laden soll.


----------



## bbm1995 (21 August 2021)

Im ersten Bild kannst du einstellen ob beim Zugriff auf die IP vom PLC auf die Visu oder der WBM kommst.
Beim zweiten Bild kannst du auswählen ob du das WBM Login als Login für die Webvisu verwenden willst.

Ich mache es normalerweise so: Ich erstelle im e!Cockpit eine Benutzerverwaltung und blockiere dann damit den Zugriff auf wichtige Schaltungen in der Visu, so habe ich mehr Kontrolle was der Benutzer dann kann.

OT: Ich finde es schade, dass die Port Authentification nicht nur den Zugriff vom e!Cockpit erschwert, sondern auch die Visu...


----------



## KLM (21 August 2021)

Die Antworten gehen glaube ich an der Frage vorbei. Ein automatischer Wechsel auf eine andere Visu-Seite nach erfolgreichem Login ist nur mit einer kleinen Hilfsfunktion möglich. In einem Beispiel aus dem 3S Store ist eine, die ich häufig verwende. Ist recht simpel, aber man muss es mal gesehen haben. So auf die Schnelle finde ich es im Store aber nicht. Ich schaue am Montag mal am Firmenrechner.
Bgzl. Port Authentification für Codesys Port und Visu: Das ist in neueren FW-Version nicht mehr gekoppelt. Glaube ab FW(17).


----------



## bbm1995 (22 August 2021)

KLM schrieb:


> Bgzl. Port Authentification für Codesys Port und Visu: Das ist in neueren FW-Version nicht mehr gekoppelt. Glaube ab FW(17).


Leider stimmt das nicht...










logisch schrieb:


> Hallo zusammen,
> 
> ich möchte gerne eine Visu erstellen, bei der es eine Login Seite gibt. Nachdem Login möchte ich auf die eigentliche Startseite der Visu springen. Das mit der Benutzerverwaltung habe ich soweit verstanden, aber wie kann ich danach auf die eigentliche Startseite der Visu springen?
> 
> ...


Ups, hatte mich an Blockmove orientiert.
So als Idee: Vielleicht kannst du mit einem transparentem Hintergrund bei der Eingabekonfiguration überprüfen ob "visuelems.CurrentUserName" <> '' ist und dann eine Weiterleitung mit VisuElems.CurrentVisu vornehmen.

Z.B.: OnMouseMove eine ST-Code ausführen

```
IF VisuElems.CurrentUserName <> '' THEN
    VisuElems.CurrentVisu := 'Hier den Pfad deiner Visu'
ENDIF
```
Kann nicht garantieren dass der Code oben so funktioniert, habe es nicht getestet.


----------



## KLM (22 August 2021)

Bzgl. Port-Auth.: Hast Du das Firmware Update via Ethernet gemacht? Versuch es mal via SD-Karte.

Das Umschalten mittels CurrentVisu wird funktionieren, allerdings gilt das dann für alle User, auch nicht angemeldete. Die aktive Visu muss für den jeweiligen Visu-Client umgeschaltet werden. Ich suche das morgen mal raus und poste es dann hier.


----------



## KLM (23 August 2021)

Moin,
nachstehend der Code basierend auf dem 3S Besispiel "Simple Webvisu Login".

FUNCTION FC_SwitchVisu : BOOL
VAR_INPUT
    pClientData     : POINTER TO VisuElems.VisuStructClientData;
    sTargetVisuName    : STRING;
END_VAR
----------------------------------
IF VisuElems.CurrentUserGroupId <> 0 THEN
    VisuElems.g_VisuManager.SetMainVisu(pClientData, sTargetVisuName);
END_IF

In der Visu wird dann an den Button für den Login bei OnMouseDown der normale Login gebunden und via OnDialogClosed der Funktionsaufruf:
FC_SwitchVisu(pClientData,'MeineStartseiteNachLoging');


----------



## logisch (23 August 2021)

Hallo KLM,

vielen Dank für den Tip mit dem 3S Beispiel. Genau so habe ich mir das ganze vorgestellt!

Viele Grüße
logisch


----------



## KLM (23 Oktober 2021)

@bbm1995 bzgl. Port Authentification: Laut Support hat die WebVisu ab FW(14) bis einschließlich FW(17) das Passwort für die Port Authentifizierung der Runtime nicht mehr abfragen. Das war beabsichtigt, ist aber seit FW(18) bis einschließlich aktuelle FW(19) wieder aktiv, also wie vor der FW(14). Warum auch immer. Scheint mit der Runtime-Version zusammenzuhängen. Aktuell kann man die Abfrage in der Visu nur deaktivieren indem man im WBM die Port Auth. ganz abschaltet oder bei aktiver Port Auth. im Linux eine kleine Änderung vornimmt. Dann greift die Runtime Authentifikation auf das Einspielen von Programmen aber nicht auf die Visu. 

Via SSH oder FTP die Datei /etc/codesys3.d/CmpWSServer.cfg um nachstehenden Eintrag ergänzen und Controller neu starten.

[CmpWebServerHandlerV3]
CallVisuServicesDirectly=0


----------



## bbm1995 (25 Oktober 2021)

KLM schrieb:


> @bbm1995 bzgl. Port Authentification: Laut Support hat die WebVisu ab FW(14) bis einschließlich FW(17) das Passwort für die Port Authentifizierung der Runtime nicht mehr abfragen. Das war beabsichtigt, ist aber seit FW(18) bis einschließlich aktuelle FW(19) wieder aktiv, also wie vor der FW(14). Warum auch immer. Scheint mit der Runtime-Version zusammenzuhängen. Aktuell kann man die Abfrage in der Visu nur deaktivieren indem man im WBM die Port Auth. ganz abschaltet oder bei aktiver Port Auth. im Linux eine kleine Änderung vornimmt. Dann greift die Runtime Authentifikation auf das Einspielen von Programmen aber nicht auf die Visu.
> 
> Via SSH oder FTP die Datei /etc/codesys3.d/CmpWSServer.cfg um nachstehenden Eintrag ergänzen und Controller neu starten.
> 
> ...


Danke für den Tipp, leider hat das nicht geklappt.
Die genutzte Firmware ist 03.07.14(19) auf einem 750-8212/025-002
Die Datei habe ich über Putty mit dem Root Login und sudo angepasst.

```
login root
<passwort eingegeben>
cd ..
sudo nano /etc/codesys3.d/CmpWSServer.cfg
```
Beim Rumstöbern habe ich aber den gleichen Text in der "RtsCode.cfg" gefunden.


Spoiler: Bilder


----------



## KLM (25 Oktober 2021)

Das ist schön die richtige Datei, aber ich bin grad nicht sicher, ob das nicht eine 1 anstelle der 0 sein muss.


----------



## bbm1995 (25 Oktober 2021)

Ich versuche es abends nochmals, dann gebe ich Bescheid.


----------



## KLM (25 Oktober 2021)

Neustart nicht vergessen


----------



## bbm1995 (26 Oktober 2021)

KLM schrieb:


> Das ist schön die richtige Datei, aber ich bin grad nicht sicher, ob das nicht eine 1 anstelle der 0 sein muss.


Bist eine Legende, @KLM !
Hat funktioniert, im CmpWSServer.cfg die CallVisuServicesDirectly auf 1 zu setzen.
Die Visu ist jetzt erreichbar ohne eine Port Authentication durchzuführen, und um die Steuerung ändern zu müssen, muss man sich in e!Cockpit beim Verbindungsaufbau anmelden.


----------

