# Login - Logout mit WinCCflexible



## netx1 (29 März 2008)

Hallo!

Ich habe in meinem Projekt mit WinCC flexible ein paare Eingaben, die nur ein Administrator machen darf. Zur Anmeldung habe ich einen Button "Login" und einen Butten "Logout" zur Abmeldung gemacht.
Beide Buttons liegen übereinander. Drückt man Login erscheint der Anmeldedialog und es wird ein Bit gesetzt. Das Setzen des Bits bewirkt, das Login unsichtbar und Logout sichtbar wird. Wenn man Logout drückt ist es natürlich umgekehrt.

Mein Problem ist nun, dass wenn man nun nicht Angemeldet ist, und auf einen gesperrten Bereich klickt, um eine Eingabe zu machen, dann erscheint der Anmeldedialog und man kann sich anmelden. Jedoch wird hier nicht das Bit gesetzt, das für die Sichtbarkeit des Login- und Logout-Buttons zuständig ist.

Wie kann ich das lösen?


----------



## godi (29 März 2008)

Hallo!

Vielleicht funktioniert es mit "Lese Benutzername".
So das du den Benutzernamen auslest und diese Variable dann vergleichst und damit dein Bit setzt bzw rücksetzt.
Ich weiß aber leider nicht ob sich die Variable ändert wenn sich ein Benutzer abmeldet.
Mit dem Abmelden hättest in deinem Fall das selbe Problem wie mit dem anmelden weil wenn die Runtime über die eingestellte Zeit den Benutzer abmeldet dann würde dein bit auch nicht gesetzt/rückgesetzt und es könnte sich niemand mehr Anmelden.

godi


----------



## netx1 (30 März 2008)

Weis vielleicht jemand von euch, wie man dieses Problem ohne das Bitsetzen lösen könnte?
Wie macht ihr so etwas?


----------



## Dabbes vorm Herrn (30 März 2008)

Müssen die Button unbedingt über einander liegen? Kannst die nicht nebeneinander plazieren und immer nur den anzeigen lassen, der auch aktiv ist?


----------



## godi (30 März 2008)

Dabbes vorm Herrn schrieb:


> Müssen die Button unbedingt über einander liegen? Kannst die nicht nebeneinander plazieren und immer nur den anzeigen lassen, der auch aktiv ist?



Dann ist ja das selbe Problem mit dem Anzeigen...
Einfach nebeneinander Platzieren und immer Anzeigen...


----------



## Dabbes vorm Herrn (30 März 2008)

netx1 schrieb:


> Mein Problem ist nun, dass wenn man nun nicht Angemeldet ist, und auf einen gesperrten Bereich klickt, um eine Eingabe zu machen, dann erscheint der Anmeldedialog und man kann sich anmelden. Jedoch wird hier nicht das Bit gesetzt, das für die Sichtbarkeit des Login- und Logout-Buttons zuständig ist.



Kannst du die Dateneingabe nicht so sperren, dass es nur nach Eingabe des Passwortes erscheint?

Sprich: Keine Anmeldung --> Dateneingabe soll erfolgen --> Meldung : "Kein Zugriff möglich. Erst anmelden!"
    Danach Anmeldung des Admins mit Passwort über deine Tasten.

Muss eigentlich gehen.


----------



## netx1 (30 März 2008)

Das Problem bleibt aber auch hier bestehen. Wie soll ich die Eingaben wieder ausblenden, wenn der Benutzer automatisch nach einer gewissen Zeit abgemeldet wird?


----------



## Larry Laffer (30 März 2008)

Wie machst du denn das Auswerten der Eingabe ? Per Script ? Oder in der SPS ?
Wie auch immer ... dort, wo du die Eingabe auswertest, da müßtest du dann auch das Umsteuer-Bit setzen (rücksetzen) ...

Gruß
LL


----------



## godi (30 März 2008)

Hast du es schon Probiert so wie ich in meinem ersten Beitrag geschrieben habe?

godi


----------



## maccap (30 März 2008)

Hallo,
 benutze eine interne Variable zB $Passwortlevel. Wenn Du nicht angemeldest bist, dann hast du Level 0, wenn du als Admin angemeldet bist dann Level9. Nun musst du nur noch unter den Sichtbarkeitoptionen von den Buttons auf die Variable bzw den Wert von Passwortlevel abfragen und dann den Button ein- oder ausblenden. der Wert wird der dem Passwortlevel auch zugewiesen, wenn der "interne Dialog" aufpoppt.

Gruß maccap


----------



## maccap (30 März 2008)

Du gehst dabei über die Gruppennummer. Wenn du dich einlogst, dann benutzt du lese gruppennummer, wenn du dich auslogst, dann setzt du gruppennummer einfach auf 0.


----------



## netx1 (31 März 2008)

Ich denke so ähnlich wie maccap vorgeschlagen hat könnte es gehen.

@godi: ich bin leider noch nicht dazu gekommen.


----------



## Simatiker (31 März 2008)

netx1 schrieb:


> Weis vielleicht jemand von euch, wie man dieses Problem ohne das Bitsetzen lösen könnte?
> Wie macht ihr so etwas?


 
Hallo,

hier mal so wie ich das immer löse, scheint bei dir ausreichend zu sein.
Kein Button für anmelden, soll heißen, der Versuch eine Eingabe zu machen, welche einen bestimmten Benutzerstatus erfordert, öffnet sowieso den Anmeldedialog. Und irgendein button z.Bsp Bidwechsel zusätzlich mit der Systemfunktion "abmelden" belegen oder dein extra Button nur fürs abmelden. würd aber auf jeden Fall den automatischen Logout zusätzlich verwenden. z.Bsp nach 5 min.


----------

