AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein In Verzeichnis schreiben mit anderen Benutzerrechten

In Verzeichnis schreiben mit anderen Benutzerrechten

Ein Thema von Kostas · begonnen am 15. Jan 2019 · letzter Beitrag vom 17. Jan 2019
Antwort Antwort
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#1

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 10:08
Schon mal ein sehr interessanter Ansatz mit den "nur Schreibrechten" Ich müsste die Dateien in einem temp Ordner erzeugen und danach in das geschützte Archiv verschieben. Das würde funktionieren.

Ich habe in der gleichen Anwendung auch eine zweite Anforderung die mich doch dazu zwingt die Berechtigung an die Anwendung oder die Berechtigung auf den Speicherort zu übergeben. Der Hintergrund, es gibt Mitarbeiter die Bilder über Ihre Kamera erzeugen und diese zu einem Vorgang speichern. Diese Bilder dürfen Sie von der Anwendung aus anschauen und ausdrucken aber nicht löschen oder verändern. Die Anwendung muss also die Bilder zu einem Vorgang anzeigen können. Über den Explorer darf jedoch der Anwender nicht in diesen Ordner eingreifen können auch nicht lesend. Über die Anwendung wird nämlich protokolliert wann ein Bild eingestellt wurde, wann es von welchem User angesehen, gedruckt, exportiert u.s.w wurde. Die ganzen Aktionen werden über Berechnungen von der Anwendung aus gesteuert. Es gibt user die dürfen Ihre eigene Bilder nicht einsehen. Dann gibt es welche die dürfen irgend welche Bilder exportieren und sogar löschen. Wie gesagt, alles geregelt von der Anwendung heraus. Die Dokumente in die DB abzulegen währe die einfachste Methode. Dagegen spricht leider die riesige Anzahl der Dokumente und dessen Größe.

Gruß Kostas
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 10:28
Statt mit lokalen oder Domainen Userrechten rumzufrickeln hätte ich auch sowas wie DB server vorgeschlagen. Hier hat man tatsächlich dann viel Overhead.
Aber es gibt ja auch andere Server mit separater Authentifizierung und Autorisierung:
Webserver (die sehr gut Bilder hosten können).

Ggf kann sowas auch gleich mit "fertigen" Komponenten wie nextcloud o.ä. gelöst werden.

Die (versteckten) Windows Freigaben setzen wohl einen separaten Server voraus, da Mehrfachanmeldung (2. User mit anderen Rechten) am gleichen nicht geht.
Die "Unsichtbarkeit" einer Freigabe finde ich jetzt nicht so sicher.
Gruß, Jo
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#3

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 10:51
Wenn man die Daten per Webserver anzeigen lässt, kann man sie auch per Webserver schreiben lassen, das ist jetzt auch nicht soviel Unterschied (Download und Upload sind ja jetzt auch nicht so überaus exotische Vorgänge )

Versteckte Freigaben sind nicht wirklich die sicherste Alternative, unbestritten. Aber dass unterschiedliche Nutzer mit unterschiedlichen Rechten benötigt werden, ist hier ja nicht gegeben. Es gibt wohl eine Anwendung, die zwar von n Leuten genutzt wird, aber nur die Anwendung muss mit einem einzigen Benutzer (ggfls. von n Arbeitsplätzen) auf die Freigabe zugreifen können.

Und der Rechtekonflikt zwischen mehreren Nutzen mit unterschiedlichen Rechten auf eine Freigabe besteht nur dann, wenn man diese von "einem" Windowsrechner aus einrichten will, dann gibts Probleme. Aber eine Freigabe kann durchaus von unterschiedliche Nutzer mit unterschiedlichen Rechten genutzt werden. Nur eben nicht zeitgleich von "einem" Rechner aus.

Prinipiell kann man aber eine Freigabe einrichten und allen Nutzern, die diese benötigen, eigene Rechte geben, also denen die nur schreiben dürfen ausschließlich Schreibrechte und denen, die auch Bilder anzeigen lassen dürfen, Lese- und Schreibrechte. Und diese Rechte kann mann ggfls. auch auf Dateiebene vergeben.

Man könnte also durchaus durch das Programm selbst den Nutzern, die Bilder speichern dürfen, ausschließlich für diese Bilder das Leserecht einräumen. Sie müssen nicht zwangsläufig dann auch ein Leserecht auf alle Dateien erhalten.

Die Frage die sich stellt: Wieviel Aufwand ist man bereit zu treiben, um eine anforderungskonforme Rechteverwaltung aufzusetzen.

Das wesentliche Problem ist hier erstmal: Was will man genau?
Wenn das klar ist, kann man das mit Sicherheit umsetzen. Fraglich ist halt nur, mit welchem Aufwand und ist man bereit den zu betreiben.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 11:28
Wenn man die Daten per Webserver anzeigen lässt, kann man sie auch per Webserver schreiben lassen,
Natürlich, ich hoffe ich habe nichts anderes gesagt.

Aber dass unterschiedliche Nutzer mit unterschiedlichen Rechten benötigt werden, ist hier ja nicht gegeben.
Also ich bin einfach davon ausgegangen, dass es eine bestehende Domäne mit einem Fileserver gibt, auf den die User bereits zugreifen. Das dürfte relativ klassisch sein, wenn man eine Windows Domäne betreibt.
In diesem Szenario ist es dann m.E. nicht möglich.

Man könnte also durchaus durch das Programm selbst den Nutzern, die Bilder speichern dürfen, ausschließlich für diese Bilder das Leserecht einräumen. Sie müssen nicht zwangsläufig dann auch ein Leserecht auf alle Dateien erhalten.

Die Frage die sich stellt: Wieviel Aufwand ist man bereit zu treiben, um eine anforderungskonforme Rechteverwaltung aufzusetzen.

Das wesentliche Problem ist hier erstmal: Was will man genau?
Rechteverwaltung über ein Programm stinkt doch etwas finde ich.
Der Aufwand den man treiben will, dürfte sich mit dem Einsatz bestehender Technologien (http(s) Fileserver, samba, ..) in Grenzen halten, man muss nur die Anbindung machen.

Wenn man natürlich möglichst viel proprietär aus der eigenen Anwendung heraus machen will/muss, ist es etwas anderes.
Gruß, Jo
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#5

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 12:03
Wenn man die Daten per Webserver anzeigen lässt, kann man sie auch per Webserver schreiben lassen,
Natürlich, ich hoffe ich habe nichts anderes gesagt.

Aber dass unterschiedliche Nutzer mit unterschiedlichen Rechten benötigt werden, ist hier ja nicht gegeben.
Also ich bin einfach davon ausgegangen, dass es eine bestehende Domäne mit einem Fileserver gibt, auf den die User bereits zugreifen. Das dürfte relativ klassisch sein, wenn man eine Windows Domäne betreibt.
In diesem Szenario ist es dann m.E. nicht möglich.

Man könnte also durchaus durch das Programm selbst den Nutzern, die Bilder speichern dürfen, ausschließlich für diese Bilder das Leserecht einräumen. Sie müssen nicht zwangsläufig dann auch ein Leserecht auf alle Dateien erhalten.

Die Frage die sich stellt: Wieviel Aufwand ist man bereit zu treiben, um eine anforderungskonforme Rechteverwaltung aufzusetzen.

Das wesentliche Problem ist hier erstmal: Was will man genau?
Rechteverwaltung über ein Programm stinkt doch etwas finde ich.
Der Aufwand den man treiben will, dürfte sich mit dem Einsatz bestehender Technologien (http(s) Fileserver, samba, ..) in Grenzen halten, man muss nur die Anbindung machen.

Wenn man natürlich möglichst viel proprietär aus der eigenen Anwendung heraus machen will/muss, ist es etwas anderes.
Prinzipiell hast Du mit allem Recht, es wird hier nach einer Lösung gesucht, deren Problem (für meine Begriffe) noch nicht ausreichend spezifiziert ist, um es sinnvoll und kontextgerecht lösen zu können.

Server X und Freigabe Mitarbeiterverzeichnis_B für Nutzer B
Server X und Freigabe Programmdateiablage für Nutzer B
Server X und Freigabe Programme für alle Nutzer

mit jeweils unterschiedlichen Rechten sollte gehen.

Server X und Freigabe Mitarbeiterverzeichnis_B für Nutzer B
Server X und Freigabe Programmdateiablage für Programm
Server X und Freigabe Programme für alle Nutzer

mit jeweils unterschiedlichen Rechten sollte gehen.

Server X und Freigabe Mitarbeiterverzeichnis_B für Nutzer B
Server X und Freigabe Programmdateiablage für Nutzer B
Server X und Freigabe Programmdateiablage für Programm
Server X und Freigabe Programme für alle Nutzer

wird scheitern.

Server X und Freigabe Rootverzeichnis für Alle
Server X und Freigabe Rootverzeichnis\Programmdateiablage für Programm mit anderen Rechten

wird scheitern.

Eine allgemeine Freigabe auf "alles auf dem Server" und eine spezielle Freigabe mit anderen Rechten auf ein Verzeichnis unterhalb von "alles auf dem Server" wird eher nicht funktionieren.

Eine allgemeine Freigabe eines Verzeichnisses auf einem Server schließt eine eingeschränkte Freigabe eines anderen Verzeichnisses auf dem gleichen Server nicht aus.

Was nicht geht ist: Einen Server allgemein freigeben und dann unterhalb dieser allgemeinen Freigabe eine programmspezifische, eingeschränkte Freigabe einrichten.

Ausgehend vom Eingangspost gibt es aber wohl Verzeichnisse, auf die Nutzer zugreifen können und Verzeichnisse, auf die sie nicht zugreifen können. Es gibt also keine allgemeine Freigabe auf den gesamten Server.
Hiermit sollte es möglich sein, dass das Programm sich mit einem nur ihm bekannten Nutzer einen Zugang zu diesem explizit angegebene Verzeichnis verschafft.

Und auch bei 'ner Datenbank muss man sich um die Rechte kümmern. Darf ein Nutzer nur Inserts machen oder darf er auch per select Daten lesen und wenn ja welche.

Desgleichen gilt auch für 'nen Webserver: Wer darf Daten per Upload "hinschicken" und wer darf (egal ob per Webinterface oder Download) Daten einsehen.

Man muss sich in allen Fällen 'nen Kopp darüber machen, was man will und dafür sorgen, dass dann nur die, die was dürfen, das dürfen, was sie dürfen sollen

Das grundlegende Rechteproblem bleibt also bei allen Lösungsvorschlägen erhalten, nur die Art, wie es gelöst werden kann, wird sich unterscheiden.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 12:27
Die einfachste Rechteverwaltung gelingt per Webserver.

Hier kann man jedem Anwender die Möglichkeit geben beliebige Dateien abzulegen und die eigenen auch anzusehen.
Bestimmte Anwender (mit der Rolle Geschäftsleitung) dürfen die Dateien von allen ansehen.

Löschen darf keiner.

Das wäre ein Mini-Webserver mit drei Methoden
Code:
GET documents      : Alle Dokumente (eigene oder alle nach Rolle)
GET documents/{id} : Ein Dokument
POST documents     : Dokument erzeugen
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#7

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 12:53
Hallo Zusammen,

die beste Variante wäre wie schon erwähnt allen in einer DB zu schreiben. Damit hätte ich die volle Kontrolle über die Anwendung und fertig. Es sind mehrere tausend Dateien insgesamt derzeit 12 TB und steigt im Jahr ca. 750 GB. Die Bilder sind in unterschiedlichen Größen, Es sind CAD Zeichnungen, Es sind voll fette Ausschreibungen 500 Seiten gescannt und als PDF abgelegt u.s.w. Das alles in einer DB zu schreiben wollte ich einfach nicht. Zum nächsten, kommt es drei bis vier mal im Jahr indem die Archive von der Geschäftsleitung über den Explorer durchsucht werden. Alle Anwender dürfen über den Explorer nicht in das Archiv sondern immer nur über die Anwendung damit der Vorgang protokolliert wird! Nur die Geschäftsleitung, Systemkonto und BackupKonto darf auf das Archiv zugreifen. Auch dem Admin ist es nicht gestattet. Er hat zwar ein Hintertürchen aber das muss die GL nicht wissen. Könnte sogar ein Kündigungsgrund sein.

Über die Rechtevergabe im ADDS kann ich das Problem nicht lösen. Alle User können zwar ein NUR Schreibrecht bekommen. Damit habe ich 80% der Anforderung erledigt- das anlegen. Die Anwendung braucht jedoch volle Rechte um die Bilder anzeigen zu können, Dokumente verändern und löschen zu können. Wie gesagt, deshalb aus der Anwendung heraus damit der Vorgang protokolliert wird. Jede der ein Bild anschauen, wird in der Datenbank dokumentiert.


Im laufe diesen Thread wurde mir bereits ein Vorschlag gemacht wie aus der Anwendung heraus in ein Ordnen zugegriffen wird mir anderen Rechten. Ich hatte noch keine Zeit das zu testen und vor allem welche Seiteneffekte dabei auftreten. Ich würde mit weniger Seiteneffekte rechnen wenn die Anwendung selbst mit mehr Rechte ausgeführt wird. Ich müsste auch nicht in mehreren Stellen im Programm den Speicherort mit andere Rechte öffnen und wieder schliessen. Deshalb die Idee die komplette Anwendung mit mehr Rechte ausführen zu können.

Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#8

AW: In Verzeichnis schreiben mit anderen Benutzerrechten

  Alt 16. Jan 2019, 11:28
Diese Bilder dürfen Sie von der Anwendung aus anschauen und ausdrucken aber nicht löschen oder verändern. Die Anwendung muss also die Bilder zu einem Vorgang anzeigen können. Über den Explorer darf jedoch der Anwender nicht in diesen Ordner eingreifen können auch nicht lesend. Über die Anwendung wird nämlich protokolliert wann ein Bild eingestellt wurde, wann es von welchem User angesehen, gedruckt, exportiert u.s.w wurde.
Bei solchen Anforderungen bietet sich eine DB an, weil dort auch die Zugriffsrechte dementsprechend gestaltet werden können. Sollte die Datenmenge zu groß sein, wofür eigentlich zu groß, klingt das für mich sehr nach "wasch mich aber mach mich nicht naß".

Gruß
K-H

P.S.
Das wesentliche Problem ist hier erstmal: Was will man genau?
Wenn das klar ist, kann man das mit Sicherheit umsetzen. Fraglich ist halt nur, mit welchem Aufwand und ist man bereit den zu betreiben.
Schade daß solche Selbstverständlichkeiten immer wieder erwähnt werden müssen
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (16. Jan 2019 um 11:32 Uhr) Grund: Erweitert
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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-2025 by Thomas Breitkreuz