WSPBuilder, Config Store e chiamanti parzialmente attendibile
-
13-09-2019 - |
Domanda
Qualcuno ha usato WSP Builder per confezionare una soluzione che utilizza Config Conservare (http: //www.codeplex. com / SPConfigStore) e distribuisce alla directory bin dell'applicazione web?
Quando provo ad referecne negozio config nel mio codice dietro file di ottengo questa eccezione ...
System.Security.SecurityException: Che il montaggio non consente chiamanti parzialmente attendibile
Ho aggiunto i chiamanti parzialmente attendibili attributo per il mio progetto
[assembly: AllowPartiallyTrustedCallers()]
e le autorizzazioni di SharePoint attributi sui miei metodi
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)]
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]
Ma questo non ha sembrano aver fatto nulla, ho anche specificato un criterio personalizzato CAS con il corretto IPermission
<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" />
E ancora senza successo, sicuramente altre persone hanno fatto questo, devo essere perso qualcosa
Sto usando WSP Builder versione 1.0.5.
Soluzione
È stato aggiunto il [assembly: AllowPartiallyTrustedCallers ()] per la vostra assemblea, in modo che il montaggio permetterà per i chiamanti parzialmente attendibili chiamarlo. Ma la ConfigStore sé non ha tale attributo.
E 'possibile aggiungere la DLL nella GAC? (Facile via d'uscita). O aggiungere il [assembly: AllowPartiallyTrustedCallers ()] per il progetto ConfigStore così ..
Altri suggerimenti
Hai aggiungere l'assembly alla sezione SafeControls web.config?
<SafeControl Assembly="Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.Server.Search.WebControls" TypeName="*" Safe="True" />
Inoltre, potrebbe essere necessario abbassare il livello di fiducia nel web.config:
<trust level="WSS_Minimal" originUrl="" />
Vedere la documentazione MSDN per ASP.NET e SharePoint livelli di attendibilità .