Hallo,
das Problem ist schwierig zu beschreiben, da es bei einem kunden in einer abgeschirmten umgebung auftritt und wir nicht mal einen stack trace erhalten. ich versuchs trotzdem.
der WCF Service ist Impersonated, heisst der User wird vom Webpart durchgeschleust.
problem:
bei gewissen usern knallt das ganze mit der Fehlermeldung: "Could not load Assembly. Access denaid."
Bei anderen Usern, insbesondere Domänenadmins funktioniert es.
Mittlerweilen weiss ich, dass es sich um das Assembly handelt, in der die Klasse ist, die der Activator instanzieren soll.
hat jemand eine ahnung, was uns da für ein problem vorliegt?
Hallo HappyLi,
vermutlich haben die Benutzer, bei denen es knallt, keine NTFS-Leserechte auf die dynamisch geladenen Assembly-Dateien.
Impersonation sollte man tunlichst vermeiden. Man kann auch die Identität des Aufrufers feststellen und für die Authentifizierung und Authorisierung verwenden, ohne die Identität gleich für den Arbeitsthread zu übernehmen.
Das Problem ist hier vermutlich die Impersonation. Je nach Aufrufer wird der Code dann unter einem anderen Benutzer mit anderen Rechten ausgeführt. Das ist sehr anfällig für Berechtigungsprobleme. Es ist besser den Benutzer des IIS-App-Pools für die Ausführung zu verwenden.
Vor allem: Impersonation bei SharePoint??? Ist das überhaupt supported? Könnte ein Designfehler sein.
Ist das alles im LAN oder auch übers Internet zugänglich?