Поделиться через


Блокировка сайтов Office SharePoint Server

Включая режим блокировки для сайта Microsoft Office SharePoint Server 2007, можно ограничить разрешения для анонимных пользователей. Дополнительные сведения о режиме блокировки в Office SharePoint Server 2007, см. подраздел "Использование режима блокировки" раздела Планирование безопасности внешней среды анонимного доступа (Office SharePoint Server).

Но даже при включенном режиме блокировки анонимный пользователь может получить доступ к URL-адресам определенных приложений Office SharePoint Server, таким как страницы в каталоге _layouts и веб-службы, предоставляемые в каталоге _vti_bin. В этой статье описывается, как изменить файл Web.config, чтобы ограничить доступ к этим дополнительным ресурсам.

Примечание

Чтобы повысить безопасность сайта Office SharePoint Server, следует включить режим блокировки и изменить файл Web.config, как описано в этой статье.

Разрешение и запрещение доступа, используя файл Web.config

И разрешать, и запрещать доступ к веб-ресурсам можно, добавляя элементы location в файл Web.config. Например, можно добавить элемент location, чтобы запретить анонимным пользователям доступ к каталогу _layouts, а затем добавить второй элемент location, чтобы явно разрешить анонимным пользователям доступ к странице _layouts/login.aspx. Второй элемент location переопределяет первый элемент location и создает исключение, разрешающее доступ к странице входа в систему.

Дополнительные сведения об элементе location см. в подразделе "Использование режима блокировки" раздела Планирование безопасности внешней среды анонимного доступа (Office SharePoint Server).

Примечание

Непосредственное изменение файла Web.config не рекомендуется. Прямое изменение файла Web.config может привести переопределению изменений при обновлении установки Office SharePoint Server, или этот измененный файл Web.config может не быть скопирован на все интерфейсные веб-серверы фермы. Вместо этого следует создать специальный XML-файл и сохранить его в каталоге \Config. При обновлении и Windows SharePoint Services 3.0, и Office SharePoint Server 2007 выполняют поиск файлов в этом каталоге и применяют изменения, заданные в файлах, к файлу Web.config, сохраняя, таким образом, все внесенные изменения. Дополнительные сведения о сохранении настроек файла Web.config в Windows SharePoint Services 3.0 и Office SharePoint Server 2007, см. в статье Добавление пользовательских настроек для расширения веб-приложения(на английском языке) (https://go.microsoft.com/fwlink/?linkid=157096&clcid=0x419).

Страницы, к которым следует предоставить доступ анонимным пользователям

Чтобы позволить анонимным пользователям проходить проверку подлинности на сервере, следует обеспечить им доступ к следующим страницам:

  • _layouts/login.aspx

  • _layouts/accessdenied.aspx

  • _layouts/error.aspx

Если запретить анонимным пользователям доступ к этим страницам, Office SharePoint Server будет работать неправильно.

При развертывании настраиваемых решений, требующих, чтоб анонимным пользователям был предоставлен доступ к дополнительным страницам в каталоге _layouts или дополнительным службам в каталоге _vti_bin, явно предоставьте анонимный доступ и к этим ресурсам.

Примеры

Первые два примера в этом разделе иллюстрируют возможные стратегии ограничения анонимного доступа. Для удобства чтения в обоих примерах показан XML-код, появляющийся в файле Web.config. Третий пример показывает правильный способ добавления XML-элементов в файл Web.config в Службы Windows SharePoint Services и Office SharePoint Server.

Важно!

Не добавляйте инструкции XML из первых двух примеров непосредственно в файл Web.config. Вместо этого создайте файл, похожий на третий пример, и сохраните его в каталоге \Config, как объясняется в статье Добавление пользовательских настроек для расширения веб-приложения(на английском языке) (https://go.microsoft.com/fwlink/?linkid=157096&clcid=0x419).

Пример 1. Запрет доступа ко всем ресурсам и выборочное разрешение доступа к конкретным ресурсам

Следующий фрагмент XML-кода запрещает анонимным пользователям доступ ко всем страницам в каталогах _layouts и _vti_bin, а затем разрешает анонимным пользователям доступ к четырем конкретным страницам в каталоге _layouts. Вопросительный знак (?) представляет анонимных пользователей. Эти ограничения не применяются к пользователям, прошедшим проверку подлинности.

<configuration>

  <location path="_layouts">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_vti_bin">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/login.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>
 
  <location path="_layouts/accessdenied.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


</configuration>

Пример 2. Запрет доступа к конкретным ресурсам

Следующий фрагмент XML-кода запрещает анонимным пользователям доступ к страницам _layouts/error.aspx и _layouts/SearchResults.aspx. Доступ к другим страницам в каталоге _layouts управляется состоянием режима блокировки для сайта. Вопросительный знак (?) представляет анонимных пользователей. Эти ограничения не применяются к пользователям, прошедшим проверку подлинности.

<configuration>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/SearchResults.aspx">
    <system.web>
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

<configuration>

Пример 3. Рекомендуемый способ реализации примера 1

Следующие инструкции XML показывают, как добавить инструкции XML из примера 1 в файл Web.config так, чтобы эти добавления сохранялись при обновлении Службы Windows SharePoint Services или Office SharePoint Server, как описано в статье Добавление пользовательских настроек для расширения веб-приложения(на английском языке) (https://go.microsoft.com/fwlink/?linkid=157096&clcid=0x419).

<?xml version="1.0" encoding="utf-8" ?>
<actions>

  <add path="configuration">
  <location path="_layouts">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_vti_bin">
    <system.web>                  
      <authorization>
        <deny users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/login.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/error.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <location path="_layouts/accessdenied.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>


  </add>
</actions>

После создания файла, содержащего инструкции XML, аналогичные показанным в примере 3, его можно сохранить в каталоге \Config с именем в формате webconfig. <имя>.xml. Чтобы применить эти изменения к ферме, выполните операцию Stsadm copyappobincontent на каждом интерфейсном веб-сервере. Дополнительные сведения см. в разделе Copyappbincontent: операция Stsadm (Office SharePoint Server).

См. также

Понятия

Планирование безопасности внешней среды анонимного доступа (Office SharePoint Server)