Ich wollte schon seit einer Weile hier posten, aber ich finde immer die Informationen, die ich brauche; bis jetzt natürlich! Ich würde jede Hilfe zu schätzen wissen, die Sie in Bezug auf die Sicherheit des Codezugriffs und insbesondere dlls auf einer Netzwerkfreigabe anbieten können.
Ich suche nach einer Möglichkeit, Assemblies zur Reflexion, Instanziierung und zum Aufruf aus einer unbekannten Netzwerkfreigabe zur Laufzeit dynamisch zu laden.
Ich habe die Foren durchsucht und bin zu dem Schluss gekommen, dass ab .NET 3.5 SP1 Assemblies auf einer Netzwerkfreigabe mit vollem Vertrauen ausgeführt werden können. Dies scheint auf .exe-Dateien und nicht auf .dlls abzuzielen.
Ich verstehe, warum dies geschieht, was Code Trust ist und wie CasPol und das Tool ".NET Framework 2.0 Configuration" funktionieren. Ich bin in der Lage, die Richtlinien so zu ändern, dass ich in einer Testumgebung für eine bestimmte Freigabe volles Vertrauen erhalte, obwohl ich die genaue Netzwerkfreigabe nach der Bereitstellung nicht kennen werde.
Ich kann keine der eingebauten Mitgliedschaftsbedingungen nutzen, wie z.B. stark signiert, url, Zertifikate und so weiter.
Ich weiß, dass ich einen benutzerdefinierten Bedingungstyp implementieren kann, indem ich die IMembershipCondition-Schnittstelle implementiere und einige Hürden überwinden muss.
Auf der Grundlage der oben genannten Informationen möchte ich eine benutzerdefinierte Mitgliedschaftsbedingung (in C#) implementieren, aber dies scheint eine ziemlich komplizierte Aufgabe zu sein, und es scheint nicht viele Informationen von Microsoft oder im Internet verfügbar zu sein. Derzeit verstehe ich nicht, wie man "Evidence" in eine Assembly einfügt, so dass sie identifiziert werden kann, und ich verstehe auch nicht, wie diese Evidence während der Richtlinienauswertung angezeigt wird und wie man dies programmatisch schreibt.
Ich möchte zum Beispiel eine Richtlinie implementieren, die alle Baugruppen identifiziert, die ein Baugruppenattribut des Typs AssemblyCompany mit dem Wert "Meine Firma" haben, d. h. [assembly: AssemblyCompany("Meine Firma")]. Dies ist nicht genau das, was ich zu implementieren beabsichtige, aber es würde mir helfen zu verstehen, wie der Mechanismus funktioniert.
Bevor ich diese Produktanfrage in Angriff nahm, wusste ich nichts über Codesicherheit, und wie Sie sich wahrscheinlich denken können, habe ich mich ausgiebig damit beschäftigt und so viele Informationen wie möglich zu diesem Thema gefunden, aber jetzt komme ich nicht weiter.
Haben Sie Ihren eigenen IMembershipCondition-Adapter implementiert? Haben Sie einen Link zu einer umfassenden Anleitung, wie man das macht? Können Sie ein funktionierendes Beispiel zur Verfügung stellen?
Vielen Dank, dass Sie sich meinen (langen) Beitrag durchgelesen haben, und helfen Sie mir bitte! :D