WSPBuilder, Config-Speicher und teilweise vertrauenswürdiger Anrufer
-
13-09-2019 - |
Frage
Hat jemand WSP Builder verwendet, um eine Lösung zu verpacken, die die Config Store verwendet (http: //www.codeplex. com / SPConfigStore) und setzt die Web-Anwendung in das Verzeichnis ist?
Wenn ich versuche, den Config-Speicher in meinem Code hinter Datei zu referecne bekomme ich diese Ausnahme ...
System.Security.SecurityException: Das Montage erlaubt es nicht, teilweise vertrauenswürdigem Anrufer
Ich habe der teilweise vertrauenswürdige Anrufer Attribut zu meinem Projekt hinzugefügt
[assembly: AllowPartiallyTrustedCallers()]
und die Sharepoint-Berechtigungen-Attribute auf meinen Methoden
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)]
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]
Aber das scheint nicht alles getan zu haben, ich habe auch eine benutzerdefinierte CAS-Richtlinie mit der richtigen IPermission angegeben
<IPermission class="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1" ObjectModel="True" UnsafeSaveOnGet="True" Unrestricted="True" />
Und noch keinen Erfolg, doch andere Menschen dies getan haben, muss ich etwas fehlt
Ich bin mit WSP Builder Version 1.0.5.
Lösung
Sie haben die [AllowPartiallyTrustedCallers () Montage] hinzugefügt. Aber die ConfigStore selbst nicht das Attribut.
Ist es möglich, Ihre DLL im GAC hinzufügen? (einfacher Ausweg). Oder fügen Sie den [assembly: AllowPartiallyTrustedCallers ()] zu dem ConfigStore Projekt als auch ..
Andere Tipps
Haben Sie fügen die Assembly in den web.config Safecontrols Abschnitt?
<SafeControl Assembly="Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.Server.Search.WebControls" TypeName="*" Safe="True" />
Darüber hinaus müssen Sie möglicherweise die Vertrauensstufe in der web.config senken:
<trust level="WSS_Minimal" originUrl="" />
Sehen Sie MSDN-Dokumentation für ASP.Net und Sharepoint-Vertrauensebene .