Перенос страницы ASPX на Sharepoint - PullRequest
1 голос
/ 11 сентября 2009

Я пытаюсь перенести существующую страницу ASPX, которая является частью существующего веб-сайта, на новый сайт Sharepoint. Страница ASPX представляет собой относительно простую форму с некоторыми элементами управления на стороне сервера, возможностью отправки по электронной почте отправленных форм и «капчи». На текущем веб-сайте DLL-папка Newtonsoft.CaptchaControl зарегистрирована в папке bin. Итак, что мне нужно сделать, это:

  1. Перенесите страницу ASPX в правильное место в содержимом сайта Sharepoint

  2. Правильно зарегистрируйте DLL CaptchaControl с Sharepoint, и ссылка позволит странице ASPX использовать его

1 Ответ

1 голос
/ 11 сентября 2009

Настройка страницы приложения

Страница ASPX будет называться «страницей приложения» в SharePoint. Вы можете скопировать ASPX в папку layouts в разделе «12 Hive». ("% CommonProgramFiles% \ Microsoft Shared \ расширения веб-сервера \ 12 \ TEMPLATE \ LAYOUTS"). Затем он будет доступен с любого сайта SharePoint под {URL}/_layouts/CustomPage.aspx (например, http://site/_layouts/CustomPage.aspx или http://site/subsite/_layouts/CustomPage.aspx).

Добавить записи безопасного управления

Похоже, вы знаете, что поместили любую DLL для вашей страницы aspx, а также CaptchaControl.dll в папку bin для сайта SharePoint под IIS. Библиотеки DLL должны быть подписаны ключом строгого имени. Вам также необходимо добавить подпись DLL со строгим именем в список SafeControls в файле web.config для сайта SharePoint. Если вы откроете web.config, вы увидите примеры, например ::

<SafeControl Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
    Namespace="Microsoft.SharePoint" TypeName="*" Safe="True" />

Настройка защиты доступа к коду

Предполагая, что ваши элементы управления действительно делают что-то, вы должны пометить их как доверенные в файле безопасности доступа к коду, который использует SharePoint. Измените уровень доверия в web.config с WSS_Minimal на WSS_Custom. Перейдите в «% CommonProgramFiles% \ Microsoft Shared \ расширения веб-сервера \ 12 \ CONFIG» и скопируйте wss_minimaltrust.config в wss_customtrust.config. Отредактируйте wss_customtrust.config и создайте новые записи CodeGroup, используя открытый ключ ваших DLL. Например:

<CodeGroup
    class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust">
    <IMembershipCondition
        class="StrongNameMembershipCondition"
        version="1"
        PublicKeyBlob="002400000480435694000000060200000024245452534131000400000100453261002888e278243eb86b47eea4be1b23451177126fb9c847085e66e895a64b148c675dabda94d9301f4886a0126887bcd067356affb16a5112baf3198525fc96c45f4178a6263e1a1132bb6c0a4cdaeaccd97b0d4ab42139585700c41e8481feff03e13f30bb0a10ffa7746770d144be94954b7a908fb9bb680ebe611f50f6db" />
</CodeGroup>

Примечание: Это сделает ваши DLL полностью доверенными в веб-приложении SharePoint. Лучше ограничивать разрешения теми, которые действительно требуются.

...