Назад | Перейти на главную страницу

Sharepoint 3.0 (WSS), аутентификация IIS 6 из чужого домена

Я искал это везде ... У меня есть автономный сервер IIS, который не является членом домена, подключенный к нашей сети через VPN. На этом сервере работает несколько веб-страниц, и Sharepoint является одной из них. Я настроил локальных пользователей и пароли, которые отражают пароли из домена, но все же при доступе к сайту sharepoint веб-браузер требует аутентификации. Есть ли способ отключить это надоедливое поведение?

С другими сайтами проблем нет: я просто настраиваю анонимный доступ в IIS и предоставляю IUSR_machinename доступ к физической папке на диске. Но не работает с WSS.

Любые идеи?

Ответ находится в настройках вашего браузера. Вам необходимо добавить свой сервер в зону интрасети и убедиться, что для зоны интрасети включен параметр, позволяющий передавать учетные данные под крышками. Вот настройки IE7:

Настройка локальной интрасети: нажмите Инструменты -> Свойства обозревателя -> вкладка Безопасность -> Местная интрасеть -> Сайты -> Дополнительно. Убедитесь, что флажок «Требовать проверку сервера…» снят. Затем введите свой сервер в поле «Добавить этот веб-сайт в зону:». Нажмите Добавить -> ОК -> ОК -> ОК. Затем выполните следующий важный шаг.

Затем нажмите «Инструменты» -> «Свойства обозревателя» -> «Безопасность» -> «Локальная интрасеть» -> «Пользовательский уровень» -> в самой последней настройке в разделе «Вход с аутентификацией пользователя» выберите «Автоматический вход только в зоне интрасети» -> нажмите ОК -> ОК.

Это должно сработать!

Без особой работы это невозможно, если сервер и клиентские компьютеры не находятся в одном домене.

В среде домена аутентификация для доступа к Sharepoint в фоновом режиме работает примерно так:

  • Сначала вы аутентифицируетесь на контроллере домена
  • Контроллер домена назначает вам билет
  • Веб-сервер проверяет ваш билет

В недоменной среде просто нетривиально настроить такую ​​автоматическую аутентификацию на сервере.

Обходной путь

Вы можете настроить автоматическую аутентификацию на сторона клиента путем сохранения пароля в браузере или настройки IE для аутентификации с использованием текущих учетных данных пользователя.

Fire Fox: При переходе на сайт Sharepoint открывается новое диалоговое окно с запросом учетных данных. После того, как вы введете учетные данные, в верхней части области просмотра Firefox появится «диалоговая строка» с вопросом, хочет ли пользователь сохранить пароль. При выборе OK учетные данные сохраняются. При следующем посещении сайта пользователь просто подтверждает автозаполнение формы с помощью имени пользователя и пароля.

IE: Подход, упомянутый для firefox, у меня не сработал. IE предлагает запомнить пароль, но даже если вы отметите эту опцию, учетные данные не сохранятся. (Может быть, у кого-то есть решение для этого).

Вот что работает: Вы добавляете сайт в зону местной интрасети (Инструменты -> Свойства обозревателя -> Безопасность -> Локальная интрасеть -> Сайты -> Дополнительно). По умолчанию уровень безопасности настроен таким образом, что IE должен пытаться автоматически аутентифицировать вас, используя текущие учетные данные пользователя. Вы можете проверить это, нажав Пользовательский уровень, затем найдите аутентификация пользователя раздел. Если либо Автоматический вход только в зону интрасети или Автоматический вход в систему с текущим именем пользователя и паролем выбрано, это должно работать.

Конечно, вместо использования зоны интрасети вы можете добавить сайт в зону доверия или где-нибудь еще. Просто убедитесь, что Автоматический вход в систему с текущим именем пользователя и паролем варианты выбраны.

Сопоставить пользователей домена с локальными пользователями? Вы знаете, что имя пользователя домена будет полностью отличаться от имени локального пользователя. Разница в том, что учетная запись пользователя домена будет иметь что-то вроде DOMAIN \ USER, тогда как localuser будет MACHINENAME \ USER?

Чтобы сопоставить их, вам нужно будет написать свой собственный AuthenticationProvider (что вполне возможно, поскольку SharePoint использует auth. провайдер построенный с использованием шаблона поставщика, используемого во всем (ASP) .NET для таких вещей, как auth.

Однако создание собственного провайдера может потребовать много работы.