Locking Down Custom SharePoint Assemblies
Unabhängig von seiner ein WebPart oder eine Client-Anwendung, die jetzt mit SharePoint zu integrieren, ist für die Liebe zu allem, was groß und heilig, sperren Sie Ihre benutzerdefinierte entwickelte Baugruppen und nicht blind Erlaubnis geben, die Dinge, die wahrscheinlich nicht haben erhöhte Erlaubnis setzt.
Der beste Weg, dies zu tun ist, um von vorne zu beginnen, und ziemlich viel Arbeit Ihr Weg nach oben. So wollen Sie damit beginnen:
- SecurityAction. RequestOptional , Name= "Execution" ) ] [Assembly: PermissionSet (SecurityAction. RequestOptional, Name = "Execution")]
Erstellen Sie dann Ihre Baugruppen mit der entsprechenden Erlaubnis setzt. Sie müssen RequestOptional in diesem Beispiel die Verwendung RequestMinimal wird nicht über die entsprechende Wirkung, die wir suchen, zu erreichen, verwenden.
Was auch immer Sie in der "Execution" Permmision setzen und spezifizieren wird natürlich wirksam hier. Dann können Sie einfach folgende RequestOptional, um Berechtigungen Sie benötigen.
Nehmen wir ein kurzes Beispiel, wenn dies vielleicht eine gute Idee.
Angenommen, Sie haben einen Helfer-Methode, die dazu bestimmt ist, eine Datei zu lesen, und mit einem String-Builder, bauen Sie die Datei in einen String (ich weiß, das ist ziemlich einfach, aber es ist für ein Beispiel). Zum Beispiel, ich benutze diese Methode, um unter SharePoint-Vorlage mit meinem Namen in meiner derzeitigen Rahmenbedingungen für die Berichterstattung der Arbeit:
- pushFileIntoString ( string filePath ) public string pushFileIntoString (string filePath)
- (
- filePath, FileMode. Open , FileAccess. Read ) ; FileStream stream = new FileStream (filePath, FileMode. Open, FileAccess. Read);
- int i = stream. Read ( buffer, 0 , buffer. Length ) ; i> 0 ; i = stream. Read ( buffer, 0 , buffer. Length ) ) for (int i = Strom. Read (buffer, 0, Puffer. Length); i> 0; i = Strom. Read (buffer, 0, Puffer. Länge))
- (
- Encoding. UTF8 . GetString ( buffer, 0 , i ) ) ; Baumeister. Append (Encoding. UTF8. GetString (buffer, 0, i));
- )
- ; Stream. Close ();
- ( ) ; Rückkehr Baumeister. ToString ();
- )
Dies würde natürlich mit einigen File I / O-Operationen. Daher müsste man hinzufügen:
- SecurityAction. RequestOptional , Name= "Execution" ) ] [Assembly: FileIOPermission (SecurityAction. RequestOptional, Name = "Execution")]
Und dann einfach arbeiten Sie sich durch. Writing Secure Code ist wichtig, wichtiger als Funktionalität, so bringen Sie es in Betracht, während Sie Ihre Entwicklung tun.
1 Kommentar »
RSS-Feed für Kommentare zu diesem Beitrag. TrackBack-URL































[...] Locking Down Custom SharePoint Drosseln [...]
Pingback von Links (7/12/2007) «Steve Pietrek's SharePoint Bestellung - 12. Juli 2007 @ 5:44 pm