Silverlight / User-Credentials

11/02/2010 - 09:48 von Holger | Report spam
Hallo NG,

wir denken gerade darüber nach, eine Business-Applikation in
Silverlight zu realisieren (SAAS-Ansatz). Die Applikation wàre im
Internet verfügbar (also nicht Intranet). Kommunikation wàre entweder
über ADO-NET-Services oder via WEB-Service.
Das System verwaltet dabei öffentliche Daten und mandantenabhàngige
Daten (bestimmte Benutzer dürfen nur bestimmte Daten sehen).

In einer "normalen" Anwendung wàre die Entscheidung einfach: Es gibt
User-Credentials, die beim Login gezogen werden. Diese Credentials
bestimmen den Zugriff auf die Datenbank (sprich die SQL-Anfragen
werden entsprechend den User Credentials gefiltert). In einer SAAS-
Anwendung sehe ich nun zwei Möglichkeiten:

a) Benutzereinschrànkungen werden serverseitig ausgewertet. Mit jeder
Anfrage sendet der Benutzer eine eindeutige GUID mit (anhand er als
der entsprechende Benutzer identifiziert werden kann). Auf dem Server
werden die Benutzerdaten herangezogen und die DB-Anfragen entsprechend
gefiltert.
+ Der Datenverkehr Client/Server ist kleiner
+ Die Businesslogik liegt auf dem Server - der Dienst-Aufruf kann
nicht manipuliert werden
- Die Server-Logik sollte eigentlich Stateless sein. Damit muss jede
Anfrage die User-Credentials holen und dann entsprechend filtern - was
vermutlich nicht sehr performant sein wird.

b) Es werden alle User-Credentials in den Client gezogen und die
ANfragen dort bereits korrekt gebildet
+ deutlich performanter, da die Business-Logik nur noch Abfragen
durchführen muss ohne sich um den Benutzer zu kümmern (weniger DB-
Abfragen)
- Die Services wàren von außen manipulierbar indem eben doch Daten von
anderen abfragbar wàren.

Hat jemand mit diesen Aufgaben Erfahrungen und kann mir einen guten
Tipp geben?

Vielen Dank & Grüße
Holger
 

Lesen sie die antworten

#1 Frank Dzaebel
14/02/2010 - 21:31 | Warnen spam
Hallo Holger,

wir denken gerade darüber nach, eine Business-Applikation in
Silverlight zu realisieren (SAAS-Ansatz). Die Applikation wàre im
Internet verfügbar (also nicht Intranet). Kommunikation wàre entweder
über ADO-NET-Services oder via WEB-Service.
Das System verwaltet dabei öffentliche Daten und mandantenabhàngige
Daten (bestimmte Benutzer dürfen nur bestimmte Daten sehen).



Gutes Timing für Eure Entscheidung.
Aber ich würde schon anraten mal die WCF RIA Services
zu evaluieren. Kleiner ~relativer Wermutstropfen:
[VS 2010 RC taugt nicht für Silverlight 4]
http://www.dotnetpro.de/news3371.aspx
(aber SL3 reicht ja normal vollauf) und dann wirst Du
auch sehen, dass wenn Du über die EntityModel/DomainService
gehst, dass die Authentifizierung zum Teil einfach, aber auch
flexibel implementierbar ist.

[Silverlight 3 with Ria Authentication service]
http://www.silverlightshow.net/item...rvice.aspx

[RIA Services: How can I create custom authentication? - Stack Overflow]
http://stackoverflow.com/questions/...entication
________________

Andere moderne Möglichkeit ginge in Richtung "Windows Identity
Foundation":

[Identity Management]
http://msdn.microsoft.com/en-us/sec...70351.aspx

[Downloaddetails: WIF RTW]
http://www.microsoft.com/downloads/...7a864c4d76

[Download details: WIF SDK]
http://www.microsoft.com/downloads/...9422208504


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen