WSPBuilder, Config magasin et appelants partiellement confiance
-
13-09-2019 - |
Question
Quelqu'un at-il utilisé WSP Builder pour emballer une solution qui utilise la configuration magasin (http: //www.codeplex. com / SPConfigStore) et déploie dans le répertoire bin de l'application Web?
Lorsque je tente de referecne la boutique de config dans mon code behind je reçois cette exception ...
System.Security.SecurityException: Cet ensemble ne permet pas aux appelants partiellement confiance
J'ai ajouté les appelants de confiance partiel attribut à mon projet
[assembly: AllowPartiallyTrustedCallers()]
et les autorisations sharepoint attributs sur mes méthodes
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)]
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]
Mais cela n'a semble pas avoir fait quoi que ce soit, je l'ai également précisé une politique CAS personnalisée avec la IPermission correcte
<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" />
Et toujours pas de succès, sans doute d'autres personnes ont fait cela, je dois manquer quelque chose
J'utilise la version WSP Builder 1.0.5.
La solution
Vous avez ajouté le [assembly: AllowPartiallyTrustedCallers ()] à votre assemblée, de sorte que votre assemblée permettra aux appelants partiellement de confiance qui appeler. Mais le ConfigStore lui-même n'a pas cet attribut.
Est-il possible d'ajouter votre DLL au GAC? (la solution facile). Ou ajouter les [montage: AllowPartiallyTrustedCallers ()] au projet ConfigStore ainsi ..
Autres conseils
Avez-vous ajouté l'assemblage à la section web.config SafeControls?
<SafeControl Assembly="Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.Server.Search.WebControls" TypeName="*" Safe="True" />
vous devrez peut-être abaisser le niveau de confiance dans le web.config:
<trust level="WSS_Minimal" originUrl="" />
Voir la documentation MSDN pour ASP.Net et des niveaux de confiance SharePoint .