Announcement

Collapse
No announcement yet.

assembly does not allow partially trusted callers

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • assembly does not allow partially trusted callers

    Sehr geehrte Benutzer dieses Forums,
    meine Anwendung (C# / .NET Framework 2) greift auf eine microsoft dll
    zu. AxInterop.OWC11.dll. Sie wird von den Benutzern der Domäne aus einem shared folder gestartet. Die betreffende DLL habe ich zunächst immer lokal kopiert. Als Domain-Admin läuft alles, aber wenn ich mich als normaler Hauptbenutzer anmelde, kommt schon beim Zugriff (nicht bei Ausführung oder Initialisierung der Objekte aus der DLL!) diese Fehlermeldung: Security.SecurityException: Request failed.
    The Action was failed was: InheritanceDemand.
    Ich habe die DLL dem GAC hinzugefügt, jetzt kommt genau an der selben Stelle die Meldung: Assembly does not allow partially trusted callers.
    Und das wiederum nur als Hauptbenutzer, bei Admins läuft das Programm ohne Probleme.
    Ich habe meiner Anwendung mit dem capol-configuration tool FullTrust permission gegeben (machine-level). Das Problem besteht dennoch.
    In dieser Domäne sind auch Gruppenrichtlinien konfiguriert, aber
    bis zu diesem Zeitpunkt konnten weder ich, noch die Administratoren dieses Netzwerks, finden was genau man in diesem Fall für einen Hauptbenutzer 'freischalten' muß.

    Wurde jemand schon mit diesem Problem konfontiert?

    Danke im Voraus für die Antworten.

  • #2
    Hallo,

    Assembly does not allow partially trusted callers.
    eine Assembly, die mit einem Strong Name geschützt wird, kann in der Voreinstellung nicht von Assemblies aufgerufen werden, deren Rechte wie zum Beispiel im Fall des Starts aus dem Intranet oder aus einem Netzlaufwerk heraus eingeschränkt sind (die aufrufende Assembly muss also ebenfalls Full Trust-Berechtigung haben). Um dieses Verhalten zu ändern, muss die mit einem Strong Name versehene Assemlby im Quelltext über das Attribut AllowPartiallyTrustedCallersAttribute speziell gekennzeichnet werden.

    AxInterop.OWC11.dll.
    Das ist ein COM Interop Wrapper (Microsoft Office Web Components), d.h. die eigentliche Nutzfunktion steckt nicht in dieser .NET-Assembly, sondern im darunterliegenden Win32-COM-Objekt. Aus diesem Grund gelten die Berechtigungsregeln der COM-Welt (Registry, COM-Sicherheitskonfiguration) zusätzlich zu den Regeln der .NET-Welt.

    InheritanceDemand
    Über diese von der Assembly angeforderte Sicherheitsprüfung will der Herausgeber der Assembly sicherstellen, dass keine "Trittbrettfahrer" die Assembly in einer nicht vorgesehenen Art und Weise nutzen.
    Zuletzt editiert von Andreas Kosch; 22.03.2007, 08:11.

    Comment


    • #3
      Vielen Dank für die Antwort!
      AllowPartiallyTrustedCallersAttribute
      Das kann ich nur machen wenn die Assembly von mir stamm,
      in dem Fall kann ich wahrscheinlich kein Code in der AxInterop.OWC11.dll verändern, bzw. kein Attribute setzen.

      Auch wenn ich mich als Domain-Admin einlogge, läuft es ohne Probleme.
      Also meine Anwendung gilt als 'teilweise vertraut', wenn ich mich mit normalen Benutzer Account anmelde. D.h. ein richtiger Lösungsansatz wäre in den Gruppenrichtlinien/Benutzerrechten irgendwas richtig zu konfigurieren.

      1. Oder Benutzer selbst gilt als nicht 'teilweise vertraut' und das wird irgendwie auf die .net security einstellungen übertragen.
      2. Oder die .net security einstellungen selbst für den normalen Benutzer
      sind nicht richtig eingestellt.

      Ich habe aber mit caspol meiner Anwendung auf machine level FullTrust erteilt.
      Die Einstellungen müßten normalerweise auch auf user-Ebene gelten.
      Zur Sicherheit habe ich es auch auf der User-Ebene gemacht: dasselbe Problem.

      Meiner Meinung nach, habe ich alle benötigten Rechte im .net security meiner Anwendung vergeben, kann das passieren das die Einstellungen in den Domain-Gruppenrichtlinien die Einstellungen von .net security (mit caspol gesetzt) überschreiben?

      Vielen Dank im Voraus,
      Mastroyani

      Comment

      Working...
      X