WSPBuilder, Config Store и частично доверенные вызывающие абоненты

StackOverflow https://stackoverflow.com/questions/968953

  •  13-09-2019
  •  | 
  •  

Вопрос

Кто-нибудь использовал WSP Builder для упаковки решения, использующего хранилище конфигураций? (http://www.codeplex.com/SPConfigStore) и развертывается в каталоге bin веб-приложения?

Когда я пытаюсь сослаться на хранилище конфигураций в файле кода, я получаю это исключение...

System.Security.SecurityException:Эта сборка не позволяет вызывающим абонентам с частичным доверием.

Я добавил в свой проект атрибут частично доверенных абонентов.

[assembly: AllowPartiallyTrustedCallers()]

и атрибуты разрешений SharePoint для моих методов

[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, Impersonate = true)] 
[SharePointPermissionAttribute(System.Security.Permissions.SecurityAction.Demand, ObjectModel = true)]

Но, похоже, это ничего не дало, я также указал специальную политику CAS с правильным 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" />

И все равно безуспешно, наверняка это делали другие люди, должно быть, я что-то упускаю

Я использую WSP Builder версии 1.0.5.

Это было полезно?

Решение

Вы добавили [сборку:AllowPartiallyTrustedCallers()] в ВАШУ сборку, поэтому ваша сборка БУДЕТ позволять частично доверенным вызывающим абонентам вызывать ее.Но сам ConfigStore не имеет этого атрибута.

Можно ли добавить свою DLL в GAC?(легкий путь).Или добавьте [сборку:AllowPartiallyTrustedCallers()] также в проект ConfigStore.

Другие советы

Вы добавили сборку в раздел 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" />

Также вам может потребоваться снизить уровень доверия в файле web.config:

<trust level="WSS_Minimal" originUrl="" />

См. документацию MSDN для Уровни доверия ASP.Net и SharePoint.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top