![]() |
Wie kann ein Dienst feststellen, wer ihn gerade benutzt?
Der Dienst läuft als Benutzer SYSTEM auf dem PC des Anwenders. Was ich benötige, ist eine Funktion, die vom Programm des Benutzers aufgerufen wird und eine Funktion, die der Dienst aufruft, um den Benutzer zu ermitteln. Also im Prinzip ein ganz simples "Wer will da was von mir?".
Weiß jemand, wie das geht? Bisher habe ich die Anwendung immer so geschrieben, daß sie ihre Wünsche an den Dienst in eine Datei schrieb, die dieser auslas. In dieser Datei stand dann auch immer der Benutzername. Diese Methode ist in einer Umgebung, die ein wenig Sicherheit erfordert, allerdings unbrauchbar. |
Re: Wie kann ein Dienst feststellen, wer ihn gerade benutzt?
Hallo,
zu Dienste-Komminukation fällt mir memory mapped file, oder pipes ein. Zu deinem Nutzerproblem gar nichts. Es könnte ja auch ein Dienst sein, der deinen Dienst nutzt, da muss kein Nutzer angemeldet sein. Heiko |
Re: Wie kann ein Dienst feststellen, wer ihn gerade benutzt?
Soweit ich weiß gibt es da keine Möglichkeit herauszufinden wer da was von Dir will. Zumindest nicht wenn Du bei deinem Dateiansatz bleiben willst. Du kannst aber bei diversen IPC Methoden wie z.B. Named Pipes oder prinzipiell auch bei deiner "Dateilösung" über ACLs den Zugriff auf deine Ressourcen für bestimmte Benutzer- und Benutzergruppen definieren, so daß bestimmte Benutzer die Datei/Pipe gar nicht erst öffnen können. Das wäre die sauberste Variante. Nun ist natürlich die Frage, ob Dir so eine Auflösung bis auf Benutzerebene reicht oder ob Du noch exakt den Prozess haben willst, der da was von Dir will.
|
Re: Wie kann ein Dienst feststellen, wer ihn gerade benutzt?
Zitat:
Daher halte ich den Ansatz für praktikabler, erst einmal den Benutzer zu ermitteln, dann seine Gruppenzugehörigkeit zu ermitteln und dann zu entscheiden, ob der Benutzer auch zur Nuzung berechtigt ist. |
Re: Wie kann ein Dienst feststellen, wer ihn gerade benutzt?
Zitat:
Zitat:
Ich halte es übrigens für nicht sinnvoll IPC mit dem Service über Dateien zu realisieren. Gibt da durchaus bessere Mechanismen wie z.B. Named Pipes. Ansonsten wäre es sinnvoll, wenn Du ein paar Informationen rausrückst wie sich deine Situation darstellt und was genau Du implementieren willst. Derweil wirkt das alles so Wischiwaschi irgendwie :). |
Re: Wie kann ein Dienst feststellen, wer ihn gerade benutzt?
Zitat:
Ansonsten ist es natürlich hilfreich, die Nutzung gleich über die Rechteverwaltung von Windows zu beschränken. Aber auch hier stellt sich für mich die Frage, wie man das in Delphi realisiert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz