Wie geht breeze.js mit Sicherheit um und vermeidet, Geschäftslogik preiszugeben?

Wir überlegenBrise js Unternehmensanwendungen zu erstellen.

Das Besondere an Breeze ist, dass wir Abfragen direkt vom Client-Browser aus ausführen können. Auf diese Weise können dynamische Abfragen auf der Grundlage der Benutzereingaben erstellt werden, ohne dass unnötige Daten geladen werden müssen. Ich habe herausgefunden, dass wir mit Breeze Geschäftslogik erstellen können, die das Weiterleiten / Übertragen von Daten um 1/10 oder sogar mehr reduziert, wenn eine Lazy-Loading-Strategie verwendet wird. mit Abfragen wiediese

Hurra !!!

Aber was ist mit der Sicherheit von Geschäftslogiken? Zum Beispiel könnten wir ein Repository haben, in dem wir unsere Geschäftslogik verbergen, verstecken und verdecken können. Verwenden Sie anschließend MVC Web API-Controller, um nur Aufrufe an diese Repository-C # -Klassen zu senden. Daher kommuniziert Breeze JavaScript mit dem WebAPi-Controller und der WebApi-Controller mit dem C # -Repository. Die Controller werden immer sehr einfach und leicht lesbar gehalten, aber das Repository verfügt möglicherweise über viele Geschäftslogiken für das Unternehmen, das die Anwendung verwendet. Wenn ein Hacker beispielsweise die Google Chrome-Entwicklerkonsole verwendet, um den JavaScript-Code zu überprüfen, sieht er nur Dinge wie GetCustomers (), GetProductsForThisId (54). Es gibt nicht viele Informationen, die dort gesehen (oder gestohlen) werden können. Weil 90% der Geschäftslogik im C # -Repository auf dem Server gespeichert sind.

Wie geht breeze.js damit um?

Wenn wir beginnen, die Abfragen und die Geschäftslogik "vom C # des Controllers in das einfache JavaScript" zu verschieben, müssen wir berücksichtigen, dass unser System auf der Mitgliedschaft basiert. Ich denke, je mehr Anfragen wir in JavaScript an den Kunden richten, desto anfälliger wird unsere Software und desto mehr sagen wir Hackern, wie sie unsere Website hacken und möglicherweise Informationen stehlen sollen.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage