![]() |
Re: Wie sicher ist das "Visible" an Objekten
Zitat:
Der Client setzt die Anfrage zusammen, die der Server auswerten soll. Die schickt er einfach ab und der Server antwortet. Der Server ist also derjenige, der die eigentliche Aktion ausführt. Es wird nicht überprüft, ob der Benutzer den Knopf drücken darf, sondern ob er diese Aktion durchführen kann. Das Durchführen der Aktion findet ausschließlich auf dem Server statt, niemals im Client. Was du aus reinem Komfort dennoch tun kannst, ist beim Einloggen die Benutzerrechte abzufragen und entsprechend alle Grafikcontrols unsichtbar zu machen, für die er eh keine Rechte hat. Mehr Energie sollte man nicht in den Client stecken (z.B. die Controls tatsächlich freigeben). Sollte ein Anwender den Client unter seine Kontrolle bringen und die versteckten Elemente anzeigen, bringt ihm das auch nichts, der Server verhindert ja immer noch das Ausführen der Aktion. Das Verstecken der Buttons ist also nichts anderes als Usability, damit de Anwender nichts sieht, was ihn eh nicht interessiert. Dieses Prinzip funktioniert hier wunderbar, da ja wohl alle Einstellungen sich irgendwie in der zentralen Datenbank auf dem Server niederschlagen, also muss der Client nichts können, er muss nichtmal wissen, was er da überhaupt macht, er schickt einfach nur Befehle an den Server. Der Nachteil an der Sache ist halt, daß der Server entsprechend leistungsfähig sein muss, um auf bei mehreren konkurrierenden Zugriffen nicht zusammenzubrechen. Je nachdem, was gemacht werden muss und wieviele Leute gleichzeitig zugreifen werden, kann das gegenüber einem reinen Datenbankserver schon ein deutliches Problem werden. Allerdings lässt sich mit entsprechender Netzwerkstruktur auch das in den Griff kriegen, zum Beispiel durch einen Cluster oder einem getrennten Application-Server, der auf einen von außen nicht zugänglichen Datenbankserver zugreift. Derartige Systeme sollten durch einfaches reinschieben eines zusätzlichen Servers relativ gut skalieren, ein ebenso skalierendes DBMS vorausgesetzt (sonst wird die Datenbank zum Flaschenhals, dann bringen auch riesige Farmen von Application Servern nix, wenn die ihre Daten zwar blitzschnell verarbeiten können, aber nicht schnell genug in die Datenbank gespeichert kriegen). Edit: Solltest du jetzt bereits einen Fat Client fast fertig haben, tja, Pech gehabt :mrgreen: Über derartige Probleme sollte man sich immer vorher Gedanken machen. Aber den Code solltest du mit wenigen Veränderungen für den Server wederverwenden können, es sei denn du kannst auf dem Server kein Delphi einsetzen (z.B. weil dieser unter Linux läuft). |
Re: Wie sicher ist das "Visible" an Objekten
Ich Arbeite mit RemObject & DataAbstract
Aufbau: ***********************| Serverseite....................................... ..| Client-----------------Middelware--------|Firewall|-------------PostgreSQL DB Ich habe alle SQL Scripts in die Middelware ausgelagert. Ich übertrage nur mehr die Parameter für die SQL Scripts. Ich möchte ein Programm, das sich anhand des eingeloggten user anpasst. z.b Report oder gewisse Funktionen dürfen nur User mit dem SIcherheitsstatus 1 machen. usw..... Und da liegt jetzt wohl der Hund begraben, weil ja machen sachen nicht wirklich Datenbankabhäng sind. oder meint Ihr Sollte der User es schaffen den Knopf sichbar zu machen, besitzt er nicht das recht die Datenbankabrage durchzuführen. |
Re: Wie sicher ist das "Visible" an Objekten
Zitat:
|
Re: Wie sicher ist das "Visible" an Objekten
Zitat:
Es wird immer gern gleich mit Webservices geschossen, aber das die VCL wesentlich komfotablere Programme zuläßt als eine rein browserorientierte Anwendung, dies wied oft übersehen. Die Nutzer wissen aber schon sehr wohl warum sie keine Browser zur Textverarbeitung nehmen... Das Grundproblem liegt wie schon angesprochen daran, dass der User mit niedriger Priorität eine Exe mit (wenn auch abgeschalteten) Funktionen höherer Prioritätsstufe versorgt wird. Wenn sowas in der Firma eingesetzt wird, dann kann man durch Installationsschutz auch das für eine gewisse Zeit vertretbar einsetzen. Später könnte man ein Einlogmenü bauen und je nach Nutzerstatus aus der Datenbank der Nutzerstufe entsprechende Programmodule auf den Nutzerrechnern speichern und starten. Beim Ausloggen würden diese Module wieder gelöscht. Das Einloggmodul würde nur starten, wenn diese Nutzermodule zunächst nicht vorhanden sind. Grüße // Martin |
Re: Wie sicher ist das "Visible" an Objekten
Zitat:
|
Re: Wie sicher ist das "Visible" an Objekten
Zitat:
tommies WebService ist in bundies Fall ein DataAbstract Service und sein Client ist eine piepnormale Echse, die dank dem DA Service einfach ohne jegliche Kenntnis von der genauen Datenquelle auskommt. Deshalb findet die Sicherheitsprüfung da statt wo man noch die Kontrolle hat: auf einem Server. @bundy Mit DA hast du zwangsläufig auch ein komplettes RO SDK laufen, vllt wäre es für dich einfacher noch einen RO Service zwischen DA und deinem Client zu klemmen. Wenn du den auch noch auf WSDL/SOAP statt ROSDL umstellst würdest du dich für künftige Wendungen auf der sicheren (standardisierten) Seite befinden. Das viele Gerede über RO/DA hat mich jetzt aber ganz schön hibbelig gemacht. Ich werde es wohl am WE mal wieder rauskramen. :) |
Re: Wie sicher ist das "Visible" an Objekten
Ich arbeite mit einem RO Server und einem Client.
|
Re: Wie sicher ist das "Visible" an Objekten
Zitat:
Zitat:
Zitat:
Aber, ähh... Wieso ist die Middleware zwar auf dem Server, die Firewall aber erst *hinter* der Middleware? Zitat:
Zitat:
Zitat:
|
Re: Wie sicher ist das "Visible" an Objekten
ok dann bedanke ich mich mal für die ganze Info die ich bekommen habe, und versuche einiges davon in die Tat umzusetzten. :thumb: :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz