SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Webpart kann nicht importiert werden - System.Security.Permissions.FileIOPermission

Unbeantwortet Dieser Beitrag hat 23 Antworten

Ohne Rang
11 Beiträge
hakan_38 erstellt 24 Juni 2010 01:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Leute,

hab ein Problem..
Ich entwickle zurzeit ein Webpart in Sharepoint mit C#. Ich möchte eine XML-Datei auslesen und diese dann mit einer Tabelle weiterverarbeiten.

Sobald ich die XML-Datei versuche zu laden, bekomme ich diese Exception. In einer Konsolenanwendung klappt alles einwandfrei, aber mit Sharepoint funktioniert es nicht.
Habe auch versucht die Datei von der Bibliothek in Sharepoint zu laden (xml.load(http://...)- leider ging dies auch nicht. Hierbei kam die Meldung "Webpermission....".

Selbstverständlich habe ich die Signierung etc. vorgenommen..

Weiss seit Tagen echt nicht mehr..deshalb bitte ich dringend um Hilfe.. :-(

 

Vielen Dank schonmal für die Antworten..

 

Webpart-Code

[View:http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.02.35/WebPart1.txt]

 

Die XML-Datei

[View:http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.02.35/Prozesse.xml]

 

Web.Config

[View:http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.02.35/web_2E00_config]

 

Exception beim Debuggen

 

Fehlermeldung in Sharepoint

Alle Antworten

Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 24 Juni 2010 08:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Die billigste Methode wäre in der web.config den trus level auf "Full" zu setzen.

 

lg

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Juni 2010 08:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="niceoldlady"]Die billigste Methode wäre in der web.config den trus level auf "Full" zu setzen.[/quote]

Laß das bleiben. Das macht man nicht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 24 Juni 2010 09:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, ist auch nur zum testen. Man muss die einzenen Permissions in den Trust configs anpassen und dort die IO- Zugriffe erlauben.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Juni 2010 10:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="niceoldlady"]Ja, ist auch nur zum testen[/quote]

Schreibe das bitte nächstes Mal dazu. Deine Tips hier sind zwar meist gut und hilfreich, aber gegen Trust Level Full bin (nicht nur) ich höchst allergisch ;-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 24 Juni 2010 10:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok. Sorry, wird gemacht :P

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 24 Juni 2010 12:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

erstmal vieeeelen Dank für die Antworten..
alsoo..

steht jetzt grad ein wenig aufm Schlauch.. Welche Methode müsste ich wie in meinem Code hinzufügen/anpassen?
Wie soll demnach die web.config aussehen? Wo kann ich denn zum testen "FullTrust" einfügen..kenne mich mit
Sicherheitsthemen in .net wenig aus.. ich will nur das es funkt. .. stehe ziemlich unter Zeitdruck :-(

Könnt ihr das vllt. an dem Code oder in web.config datei zeigen?

Vielen Dank schonmal :-)

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 24 Juni 2010 17:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wie und wo kann ich denn die IO-Zugriffe erlauben??..

Bitte um Hilfeeeeeeee...

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 24 Juni 2010 18:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry, erneut die Web.config-Datei..

 

[View:http://sharepointcommunity.de/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.01.02.35/web.config.txt]

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Juni 2010 08:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Kannst Du die XML-Datei nicht einfach in eine SharePoint-Bibliothek packen? Dann geht der Zugriff ganz einfach über SPListItem.File.

Ansonsten google nach SharePoint Trust Level und Du solltest genügend Antworten finden. Aber wie gesagt: einfach den Trust Level auf Full setzen, sit die schlechteste Möglichkeit.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
168 Beiträge
niceoldlady Als Antwort am 25 Juni 2010 08:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

aber die schnellste :D

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 25 Juni 2010 08:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Selbst wenn ich die Datei in die Bibliothek packe, kommt eine Web.Security......Exception..

Ich habe gestern versucht, den trust level auf "Full" zu setzten...aber das hat nichts geändert.
Müsste ich da noch was anderes tun..?..

Ich weiss,es ist zwar nicht die beste Lösung..aber wie gesagt, ich will nur das es läuft. Ich sitze jetzt wirklich schon seit einer Woche dran..
hab herausgefunden, dass mit Caspol was geändert werden mus...hab alles versucht aber es läuft einfach nicht..:-(

Daher bitte ich euch mal..mir einfach zu beschreiben..wo ich diesen Level auf Full setzen kann? Es soll ja auch die "schnellste" Lösung sein..:-)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Juni 2010 09:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="hakan_38"]Daher bitte ich euch mal..mir einfach zu beschreiben..wo ich diesen Level auf Full setzen kann[/quote]

<Trust level="Full" ...

in der web.config. Aber ganz offensichtlich ist das bei Dir ein anderes Problem und das können wir hier nicht so einfach analysieren.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 25 Juni 2010 09:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

genau so hab ich es gemacht..!
Was könnte ich denn noch machen bzw. testen..? Welche Informationen braucht ihr denn, um das Problem zu analysieren bzw. zu lösen?

Vielleicht kann man per skype und teamviewer das Problem lösen?..Denn ich persönlich kenne auch keinen, der sich auskennt mit WSS.

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Juni 2010 09:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Problem können ganz einfach die NTFS-Berechtigungen im Dateisystem sein. Wenn die Datei in einer SharePoint-Bibliothek liegt, dann kann man die Berechtigungen dort regeln.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 25 Juni 2010 10:35
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich möchte noch hinzufügen, dass ich das ganze auf einer Virtuellen Machine mache..
Demnach hab ich eine neue VM genommen, um es dort nochmal zu versuchen... aber NO CHANCE.. :-(

 

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 25 Juni 2010 10:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Vielen Dank für den Hinweis Andi,

ich versteh nur nicht.. das hat vorher einmal funktioniert..d.h. ich konnte die XML-Datei laden und den Inhalt auf eine Label packen..
wenn ich die Datei von der Bibliothek holen will, schießt der mir eine Web...Permission..

Deshalb hab ich mir gedacht..alles so wie es ist zu lassen..und irgendwie diesen FileIO-Permission zuzufügen..
In Sharepoint habe ich alle Sicherheitseinstellungen auf  "Voll ..." eingestellt..und wie gesagt, das ganze läuft auf einer vm-ware..hat das vielleicht einen Einfluss darauf..könnte man mit dem Ansatz etwas anfangen?...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Juni 2010 11:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mit der Virtualisierung hat das nichts zu tun.

Versuche doch mal folgendes:
- lege die Datei in eine Bibliothek
- SPWeb web = SPContext.Current.Web;
- SPFile file = web.GetFile(URL zur Datei);
- mit file.OpenBinary() kannst Du jetzt auf den Inhalt zugreifen

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 25 Juni 2010 11:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi Andi,

hab das jetzt mal versucht..
file.OpenBinary() hab ich mal so gelassen..um erstmal zu debuggen und zu schauen was überhaupt bei web.GetFile(..) passiert..

Folgende Meldung von Sharepoint:

Die URL ist richtig, denn wenn ich den Pfad mit IE aufrufe, sehe ich den Inhalt der XML-Datei.

Also es ist  wieder eine SecurityException... :-( 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 25 Juni 2010 12:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sorry, da gehen mir die Ideen aus :-(

Vielleicht ist nur der Fehler irreführend und das Problem liegt woanders (wäre nicht das erste Mal). Hast Du bei GetFile mal eine relative URL versucht, also sowas: /Lib/Datei.xml? Hast Du mal in die SharePoint-Logs geschaut, ob es da mehr Informationen gibt?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 25 Juni 2010 12:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ist die Datei ausgecheckt oder sowas, da da noch andere Exceptions zu sehen sind.

Versuch das Ganze mal testweise mit

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    //dein Code

   SPWeb web = "http://..."
  SPFile file = ...
  usw...
 }
);

dann kannst du eigentlich fast ausschließen, dass es ein Sicherheitsproblem ist...

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 25 Juni 2010 13:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich hab jetzt Christian´s Idee mal versucht..
Keine Ahnung..jetzt ist der ganze Block betroffen innerhalb von " SPSecurity.RunWithElevatedPrivileges(delegate()..."

Wo finde ich denn die Logs-Datei, Andi?
Wie kann ich denn prüfen, ob die Datei ausgecheckt ist oder nicht?  

Ohne Rang
11 Beiträge
hakan_38 Als Antwort am 26 Juni 2010 15:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

hat denn keiner ne Idee.. ?? :-(

Ohne Rang
1714 Beiträge
C.Kaiser Als Antwort am 24 Juni 2010 08:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hast du das schonmal versucht in "SPSecurity.RunWithElevatedPrivileges" zu packen?

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

Und zwei andere Sachen hab ich noch:
http://www.spotlight-wissen.de/archiv/message/1365251.html
http://entwickler-forum.de/showthread.php?t=50538

Beste Grüße,
Christian

http://www.sharepoint-rhein-ruhr.de