WSPBuilder, configuração loja e os chamadores parcialmente confiáveis
-
13-09-2019 - |
Pergunta
Alguém já usou WSP Builder para empacotar uma solução que utiliza a configuração loja (http: //www.codeplex. com / SPConfigStore) e implanta para o diretório bin do aplicativo web?
Quando tento referecne a loja de configuração no meu código por trás do arquivo eu recebo esta exceção ...
System.Security.SecurityException: Essa montagem não permite chamadores parcialmente confiáveis ??
Eu adicionei o atributo chamadores parcialmente confiável para o meu projeto
[assembly: AllowPartiallyTrustedCallers()]
atributos e as permissões do SharePoint em meus métodos
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)]
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]
Mas isso não parece ter feito nada, eu também especificado uma política CAS personalizada com o IPermission correta ??p>
<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 ainda sem sucesso, certamente outras pessoas têm feito isso, devo estar faltando alguma coisa
Eu estou usando WSP Builder versão 1.0.5.
Solução
Você ter adicionado os [assembly: AllowPartiallyTrustedCallers ()] para o seu conjunto, para que o seu conjunto vai permitir chamadores parcialmente confiáveis ??para chamá-lo. Mas o próprio ConfigStore não tem esse atributo.
É possível adicionar sua DLL para o GAC? (saída fácil). Ou adicionar os [assembly: AllowPartiallyTrustedCallers ()] para o projeto ConfigStore bem ..
Outras dicas
Será que você adicionar a montagem para a seção 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" />
Também pode ser necessário diminuir o nível de confiança no web.config:
<trust level="WSS_Minimal" originUrl="" />
Veja a documentação do MSDN para ASP.NET e SharePoint níveis de confiança .