Iis проверка подлинности


IIS7: настройка встроенной проверки подлинности Windows, например, в IIS6

Это для IIS 7 на Windows Server 2008, который не является частью домена AD. Я хотел бы защитить паролем веб-сайт, где люди должны ввести имя пользователя/пароль (например, учетную запись Windows) для просмотра веб-сайта. Затем веб-сайт будет использовать свой собственный метод (формы) проверки подлинности для обработки учетных записей пользователей и решить, показывать ли его отдельные страницы и т.д.

В IIS6 мы просто отключили анонимный доступ и включили интегрированную проверку подлинности Windows. IIS7 ведет себя по-разному, и когда я ввожу имя пользователя/пароль для просмотра сайта, сайт подходит нормально, но перенаправляется на страницу входа. Как только я войду, сайт ведет себя естественно. Мне нужно иметь возможность перемещаться по сайту без входа в систему с учетными данными веб-сайта.

Я не думаю, что включение анонимного доступа имеет смысл здесь, так как я хочу, чтобы доступ к веб-сайту был защищен паролем (всплывающее имя пользователя/пароль при первом переходе к URL-адресу).

Любая помощь приветствуется!

Двухступенчатая аутентификация не поддерживается в интегрированном режиме IIS7. Теперь аутентификация является модульной, поэтому вместо аутентификации IIS, за которой выполняется asp.net, выполняющая аутентификацию, все происходит одновременно.

  • Измените домен приложения в классическом режиме IIS6.
  • Следуйте этот пример (старая ссылка) о том, как подделать двухэтапную аутентификацию в интегрированном режиме IIS7.
  • Используйте Helicon Ape и mod_auth для обеспечения базовой аутентификации

Чтобы включить проверку подлинности Windows в IIS7 на компьютере под управлением Windows 7:

Перейдите в Панель управления

Выберите Программы → Программы и функции

Выберите «Включить или отключить функции Windows» с левой стороны.

Разверните информационные службы Интернета → Услуги World Wide Web → Безопасность

Выберите «Аутентификация Windows» и нажмите «ОК».

Reset IIS и проверка в IIS для проверки подлинности Windows.

Настройка аутентификации в IIS 8

IIS 8 поддерживает интегрированный режим ASP.NET, который помимо прочего объединяет конвейер обработки ASP.NET HTTP с конвейером обработки IIS HTTP. Это предоставляет в распоряжение богатейший набор новых возможностей, которые можно использовать в сочетании с имеющимися знаниями ASP.NET. Например, одна из них — это возможность применения аутентификации с помощью форм ASP.NET для других веб-приложений, сконфигурированных в IIS 8, которые не обязательно должны быть построены на ASP.NET.

Более того, IIS 8 использует файл web.config для хранения многих частей конфигурации веб-приложений внутри веб-сервера. Это означает возможность настройки многих параметров приложения с использованием либо консоли управления IIS 8, либо за счет непосредственной модификации файла web.config. Благодаря тесной интеграции средств конфигурирования ASP.NET и IIS 8, любые изменения, внесенные непосредственно в файл web.config, немедленно отражаются в консоли управления, и наоборот.

Давайте сначала рассмотрим возможности конфигурирования аутентификации с помощью форм из среды консоли управления IIS 8. Конфигурировать аутентификацию с помощью форм можно с использованием средства настройки аутентификации консоли управления IIS 8, как показано на рисунке ниже:

После разрешения аутентификации с помощью форм подобным образом также понадобится сконфигурировать необходимые правила авторизации. Наиболее важно добавить правило deny для анонимных пользователей с помощью средства конфигурирования авторизации в консоли управления IIS 8:

Обе конфигурационные настройки затрагивают файл web.config и веб-сервер берет эту информацию из web.config для определения собственного поведения, что видно в следующем фрагменте кода:

Вы заметите, что аутентификация с помощью форм, сконфигурированная IIS, как и следовало ожидать, находится в разделе . Но по умолчанию (и если вы ранее не добавили этого вручную), никаких правил авторизации там не будет. Как упоминалось ранее, не все опции конфигурации по умолчанию помещаются непосредственно в файл web.config. Авторизация URL — одна из таких опций конфигурации.

В любом случае унифицированная консоль управления очень хорошо продумана, так что настраивать безопасность IIS и ASP.NET посредством других инструментов нет необходимости. Многие опции по умолчанию сохраняются непосредственно в файле web.config. Как известно можно даже сконфигурировать IIS так, чтобы почти все опции помещались непосредственно в web.config. Однако, как упоминалось ранее, интеграция ASP.NET предоставляет множество возможностей при запуске IIS 8 в интегрированном с ASP NET режиме.

При запуске IIS 8 в интегрированном режиме (выбираемом по умолчанию) IIS использует канал обработки HTTP для обработки как основанных на ASP.NET HTTP-модулей, так и встроенных HTTP-модулей IIS 8.

Поскольку аутентификация с помощью форм реализована в виде HTTP-модуля ASP.NET, ее можно использовать для любого веб-приложения и виртуального каталога, сконфигурированного в IIS, который функционирует в интегрированном режиме. Это значит, что аутентификацию с помощью форм можно применять вместе с приложениями других типов, такими как статические HTML-сайты, классические приложения ASP или даже приложения PHP. Все, что потребуется сделать — это настроить веб-приложение как виртуальный каталог и затем сконфигурировать аутентификацию с помощью форм через консоль управления IIS 8. Это автоматически добавит к приложению конфигурацию web.config.

Поскольку нужно позаботиться об одной дополнительной детали, давайте в этом разделе кратко рассмотрим настройку аутентификации с помощью форм для приложения, отличного от ASP.NET. Предположим, что имеется следующая страница PHP, работающая на веб-сервере:

Теперь просто откройте доступ к папке, где расположен PHP-файл (например, test.php), как к виртуальному каталогу или веб-приложению внутри IIS. После этого можно сконфигурировать аутентификацию с помощью форм и настройки авторизации, как было описано ранее.

Поскольку IIS 8 органично поддерживает аутентификацию с помощью форм, полагаясь на HTTP-модуль аутентификации с помощью форм, поставляемый в ASP.NET, она работает точно также, как работала бы с приложением ASP.NET. Все что нужно — это удостовериться в наличии необходимой страницы входа, которая сама по себе является страницей ASP.NET. Также должны быть доступны части, необходимые для страницы ASP.NET, внутри веб-приложения (или в другом виртуальном каталоге, если применяются cookie-наборы аутентификации между приложениями).


На рисунке ниже показана страница PHP вместе со страницей входа ASP.NET в виртуальном каталоге. Аутентификация с помощью форм просто конфигурируется через управляющую консоль IIS 8, как было описано ранее:

Однако просто поместить содержимое PHP вместе с основанными на ASP.NET страницами входа и сконфигурировать аутентификацию с помощью форм еще недостаточно. Когда вы попытаетесь выполнить переход на страницу PHP, аутентификация с помощью форм пока работать не будет. В зависимости от аутентификации и правил авторизации, вы либо получите ответ «unauthorized» («неавторизовано»), либо сможете переходить к странице PHP без приглашения на вход.

Причина в том, что по умолчанию управляемые HTTP-модули, в том числе и модуль аутентификации с помощью форм, настроены так, что выполняются только по запросу кода, основанного на ASP.NET. Поэтому чтобы заставить работать аутентификацию с помощью форм, потребуется изменить это поведение, вызвав средство конфигурации HTTP Modules в консоли управления IIS 8 когда ваше веб-приложение выбрано. Затем нужно отобразить детальную информацию для модуля FormsAuthentication, сконфигурированного в списке модулей, как показано на рисунке ниже:

Открыв средство конфигурации HTTP Modules, найдите FormsAuthentication и дважды щелкните на нем или выберите ссылку Edit (Правка) в панели задач справа. В открывшемся диалоговом окне снимите отметку с флажка Invoke Only for Requests to ASP.NET Applications or Managed Handlers (Вызывать только для запросов к приложениям ASP.NET или управляемым обработчикам), как показано на рисунке ниже:

После завершения этой настройки при обращении к странице PHP в каталоге веб-приложения запрос будет аутентифицирован посредством аутентификации с помощью форм ASP.NET. Конфигурационный файл web.config для веб-приложения будет выглядеть следующим образом:

Конфигурация FormsAuthenticationModule важна. Флажок в неотмеченном состоянии задает preCondition=»», которое по умолчанию установлено в managedHandler.

Илон Маск рекомендует:  Язык xml описание технологии

Правильная конфигурация IIS 6 для проверки подлинности форм

Я использую аутентификацию форм в моем текущем веб-приложении ASP.NET(а не MVC), и мой сервер IIS 6 настроен со следующими параметрами:

в [вкладке безопасности каталога] → [Методы проверки подлинности] У меня есть:

  • анонимный доступ включен
  • Интегрированная проверка подлинности Windows включена

Выполните указанные выше параметры, чтобы предотвратить проверку подлинности Forms Authentication? Другими словами, какова правильная конфигурация IIS 6 для проверки подлинности с помощью форм?

ИЗМЕНИТЬ

Я только что сделал тест с двумя включенными выше параметрами, и сеанс проверки подлинности форм закончился и перенаправил меня на страницу входа в систему, но все ответы до сих пор сообщают, что [Интегрированная проверка подлинности Windows] должна быть отключена!

security asp.net configuration iis-6

4 ответа

7 Решение Kev [2011-04-21 17:36:00]

Вот контрольный список для использования аутентификации ASP.NET Forms на IIS6

Настройка IIS:

В IIS, Свойства сайта → Безопасность каталога → Аутентификация и контроль доступа

  • Включить анонимный доступ
  • Отключить все методы проверки подлинности

Настройка проверки подлинности с помощью форм:

Настройте проверку подлинности на вашем сайте web.config :

Ваши name и loginUrl могут отличаться. Атрибут slidigExpiration используется для продолжения продления срока службы cookie проверки подлинности форм, а не просто отключения пользователя от сайта после истечения срока действия timeout . Значение timeout находится в минутах.

Настройка таймаута сеанса:

Вам нужно настроить состояние сеанса timeout на более длительный срок, чем истечение срока действия билета на подтверждение подлинности. Если вы этого не сделаете, сеанс бездействия может отключить сеанс, но оставить пользователя вошедшим в систему. Код, ожидающий присутствия значений сеанса, будет генерировать исключения, потому что они ушли, хотя они все еще аутентифицированы. Значение timeout также находится в минутах.


Поскольку проверка подлинности в форматах не зависит от проверки подлинности IIS, вы должны настроить анонимный доступ для своего приложения в IIS, если вы намерены использовать проверку подлинности в приложении ASP.NET.

Анонимный доступ должен быть включен, я не думаю, что интегрированная проверка подлинности Windows имеет значение, но если вам это не понадобится, лучше отключить ее. Важно помнить, что он включен в web.config:

Вот базовый учебник, который может быть полезен:

Анонимный доступ → отмечен Все остальные параметры на вкладке безопасности → непроверенные

Примечание. Аутентификация форм выполняется .NET — не IIS. Кроме того, проверка подлинности Windows также должна быть отключена.

IIS Встроенная проверка подлинности

Цитирую:
«Встроенная проверка подлинности в IIS проходит следующим образом:
— В отличие от обычной проверки подлинности, пользователю не предлагают ввести имя пользователя и пароль. Текущая информация о пользователе Windows на компьютере клиента используется для встроенной проверки подлинности.
— Однако если при начальном обмене идентифицировать пользователя не удается, Internet Explorer приглашает пользователя ввести имя пользователя и пароль учетной записи Windows, которые обрабатываются с помощью встроенной проверки подлинности.
Internet Explorer будет повторять приглашение, пока не будет введена правильная комбинация имени пользователя и пароля, или диалоговое окно не будет закрыто.»

А можно как то это окно ввода логина/пароля запретить, чтобы если идентифицировать пользователя не удалось, он не смог авторизоваться? Может как то через групповые политики?

09.08.2010, 08:49

Проверка подлинности windows
Приветствую. На сайте есть внутренний раздел, доступ к которому ограничен (используется проверка.

Заставить установщик YetAnotherForum использовать IIS, а не IIS Express
устанавливаю скаченный из сайта майкрософта YetAnotherForumNET.exe установился установщик веб.

Проверка подлинности.
Случайно вместе с обновлениями установил проверку подлинности Office2007. У меня win7. Может.

Проверка подлинности
Подскажите как можно отключить проверку подл. на винде 7 32 бит?

Проверка подлинности
Добрый день! Народ, подскажите пожалуйста, почему при использовании проверки подлинности HTTP.

09.08.2010, 09:59 2

В службе безопасности снять галочку «Встроенная проверка подлинности windows».

Iis проверка подлинности

1254 просмотра

3 ответа

60 Репутация автора

Я использую IIS 10 на Windows Server 2020.

Я успешно настроил IIS для использования проверки подлинности Windows при переходе на сайт. Это хорошо работает при использовании IP-адреса или имени хоста сервера.

Однако я собираюсь разместить несколько сайтов на одном сервере, поэтому я попытался настроить некоторые записи DNS, чтобы они указывали на IP-адрес сервера ( A records ), и определив имя хоста в привязке IIS для этого сайта, мне удалось правильно подключиться справа сайт при использовании этого имени в браузере.

Но по какой-то причине это нарушает аутентификацию Windows. При вводе имени пользователя и пароля в поле входа в браузер он просто не проходит аутентификацию .

Я прочитал этот ответ, но он не дал решения ( странность проверки подлинности Windows IIS )

Я попытался написать имя пользователя по-разному:

но это не имеет никакого значения.


Я посмотрел на эту страницу, но она не подходит.

Кто-нибудь знает, как заставить это работать?

Ответы (3)

плюса

4155 Репутация автора

Попробуйте отключить обратную проверку DNS в метабазе IIS. По умолчанию для проверки подлинности Windows используется Kerberos, который может выполнять обратную проверку DNS имени хоста. При включенных заголовках хоста эта проверка не будет выполнена. Сделать это:

  1. Откройте командную строку.
  2. Измените папку на C: \ Inetpub \ Adminscripts.
  3. Введите adsutil set w3svc / EnableReverseDNS FALSE и нажмите клавишу ВВОД.
  4. Перезагрузите IIS.

Ссылка: КАК: включить обратный поиск DNS для IIS

Автор: T-Heron Размещён: 11.01.2020 12:11

1 плюс

431 Репутация автора

Аутентификация Windows здесь нарушена, потому что теперь вы обращаетесь к приложению с использованием пользовательского имени хоста, и для него не заданы имена SPN. Вы смогли успешно получить доступ к приложению ранее, потому что вы обращались к нему, используя имя сервера напрямую. Также обратите внимание, что при доступе к приложению через IP-адрес вы устанавливаете соединение через NTLM, а не через Kerberos.

Чтобы решить эту проблему, вам просто нужно настроить имя участника-службы. Введите следующую команду.

setspn -a http / имя хоста имя_сервера

Обратитесь к этой статье для получения дополнительной информации

плюса

36 Репутация автора

Вам нужно изменить то, как работает пул приложений. Перейти к тому, что доставляет вам неприятности, расширенные настройки. Найдите раздел с идентификатором и попробуйте добавить учетную запись администратора домена в это поле. Как только это произойдет, перезапустите пул приложений и перезапустите веб-сайт. Если это позволяет вам аутентифицироваться, вам нужно исправить свои SPN для этого сайта. Я проведу вас через это, если это маршрут, который исправляет это

Настройка аутентификации Windows при расположении веб-сервера IIS и рабочих серверов на разных машинах

Описание проблемы

Не работает аутентификация операционной системы (windows) через IIS при использовании тонкого клиента или веб-клиента.

С точки зрения пользователей, будет видно окно с запросом логина и пароля.

Проблема может заключаться в том, что методы операционной системы в силу различных причин возвращают описание текущего пользователя сеанса в таком представлении, которое не совпадает ни с одним пользователем в списке пользователей информационной базы 1С

Решение проблемы

На сервере 1С включить технологический журнал, используя следующую настройку:

Воспроизвести ситуацию с неудачной аутентификацией операционной системы. Авторизоваться под пользователем операционной системы, указанным в свойствах пользователя 1С.


Открыть технологический журнал рабочего процесса и найти событие EXCP со следующим описанием: «Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя»

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

04:45.940011-0,CONN,2,process=rphost,t:client >04:45.940012-0,CONN,2,process=rphost,t:client >04:45.971001-0,CONN,2,process=rphost,t:client >DstUserName2: DOMAIN701\testuser2(DOMAIN701\testuser2)
04:46.205021-0,EXCP,2,process=rphost,p:processName=trade,t:client >a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’

Заменить значение свойства «Пользователь» пользователя информационной базы согласно следующему формату «\\» + [Имя пользователя из свойства DstUserName2 без скобок].

Проверить работоспособность аутентификации средствами операционной системы, войдя в информационную базу, используя веб-клиент.

Расположение веб-сервера IIS и рабочих серверов 1С на разных машинах

В некоторых случаях, несмотря на корректно указанного пользователя операционной системы в пользователе информационной базы, при попытке входа в опубликованную базу через браузер аутентификация операционной системы не проходит. Такая ситуация может возникать, если веб-сервер IIS и сервер 1с находятся на разных машинах. В таком случае в технологическом журнале рабочего процесса можно наблюдать следующую картину:

Илон Маск рекомендует:  Приложение b отличия от css1

56:39.487001-0,CONN,2,process=rphost,p:processName=accounting,t:client >56:39.487002-0,CONN,2,process=rphost,p:processName=accounting,t:client >56:39.596004-0,CONN,2,process=rphost,p:processName=accounting,t:client >DstUserName2: NT AUTHORITY\ANONYMOUS LOGON(NT AUTHORITY\ANONYMOUS LOGON )
56:39.659003-0,EXCP,2,process=rphost,p:processName=accounting,t:client >a01f465c-ed70-442e-ada5-847668d7a41c: Идентификация пользователя не выполнена
Неправильное имя или пароль пользователя’

При возникновении такой ситуации необходимо проверить следующие настройки:

1) Убедиться, что процессы сервера 1С запущены от имени доменной учетной записи, входящей в группу Domain Users.

2) Убедиться, что веб-сервер IIS настроен корректно.

В публикации информационной базы найти настройки аутентификации

В настройках аутентификации отключить анонимную аутентификацию и включить Windows-аутентификацию. В Windows-аутентификации упорядочить доступных провайдеров так, чтобы на первом месте был Negotiate.

Пул приложений публикации не нуждается в настройках, в нем можно оставить все по умолчанию.

После изменения настроек перезапустить веб-сервер с помощью команды iisreset в командной строке.

3) Убедиться, что в контроллере домена в свойствах компьютера, на котором запущен веб-сервер, на вкладке делегирование установлено «Доверять компьютеру делегирование любых служб (только Kerberos)»

Для этого откройте оснастку Active Directory Users and Computers (dsa.msc), в компьютерах найдите веб-сервер, перейдите в его свойства и на вкладке Делегирование установить значение «Доверять компьютеру делегирование любых служб (только Kerberos)» и нажать применить.

4) Убедиться, что на клиенте в свойствах обозревателя разрешена встроенная проверка подлинности Windows.

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

Важно: аутентификации Windows при расположении веб-сервера IIS и рабочих серверов на разных машинах в тонком клиенте работает, начиная с версии 8.3.10.2620 (для тестирования).

Проверка подлинности Windows IIS Express

Я пытаюсь использовать IIS Express с VS2010 для размещения приложения silverlight. Я изменил свой applicationhost.конфигурационный файл, позволяющий изменять соответствующие параметры конфигурации. У меня есть следующее В моей сети.config:

Я не прошел проверку подлинности и мой звонок в службу домен возвращает нулевое Запись Как пользователей. Я смог заставить это работать после установки бета-версии VS2010 SP1, но я пытаюсь заставить это работать только с IIS Express.

Как разрешаю ли я проверку подлинности Windows для работы с IIS Express. Есть ли параметр конфигурации, который мне не хватает?

8 ответов:

edit \My Documents\IISExpress\config\applicationhost.config файл и включить windowsAuthentication, т. е.:

разблокировать раздел windowsAuthentication в \My Documents\IISExpress\config\applicationhost.конфигурация следующим образом


изменить настройки переопределения для требуемых типов аутентификации, чтобы «разрешить»

добавить следующее в приложении сеть.конфигурации

после установки VS 2010 SP1 применение опции 1 + 2 может потребоваться для работы проверки подлинности windows. Кроме того, в IIS Express applicationhost может потребоваться установить для анонимной проверки подлинности значение false.config:

для VS2015 может быть расположен файл конфигурации IIS Express applicationhost здесь:

и параметр в файле проекта выбирает файл конфигурации по умолчанию или для конкретного решения.

Visual Studio 2010 SP1 и 2012 добавили поддержку IIS Express, исключив необходимость редактирования угловых скобок.

  1. Если вы еще этого не сделали, щелкните правой кнопкой мыши веб-проект и выберите «Использовать IIS Express. «.
  2. после завершения выберите веб-проект и нажмите F4 для фокусировки панели свойств.
  3. установите для свойства «проверка подлинности Windows» значение Включено, а для свойства » анонимная проверка подлинности Нетрудоспособный.

Я считаю, что это решение превосходит варианты vikomall.

  • Параметр #1 является глобальным изменением для всех сайтов IIS Express.
  • Вариант №2 оставляет развитие крафт в интернете.конфиг.
    • кроме того, это, вероятно, приведет к ошибке при развертывании в IIS 7.5, если вы не выполните процедуру «разблокировать» на applicationHost вашего сервера IIS.конфиг.

решение на основе пользовательского интерфейса выше использует элементы расположения для конкретного сайта в applicationHost IIS Express.конфигурация оставляя приложение нетронутым.

основываясь на ответе от booij boy, проверьте, проверили ли вы функцию «аутентификация windows» в Панель управления -> Программы -> включение компонентов Windows или из интернета -> информационные услуги -> Услуги во всемирной сети -> безопасность

кроме того, кажется, что есть большая разница при использовании firefox или internet explorer. После включения «проверки подлинности windows» он работает для меня, но только в IE.

в дополнение к этим замечательным ответам, в контексте среды разработки IISExpress и для того, чтобы помешать печально известной «системе.ошибка «web / identity@impersonate», вы можете просто убедиться, что в вашем applicationhost установлен следующий параметр.конфигурационный файл.

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

в Диспетчере IIS нажмите на свой сайт. Вы должны быть «в представлении функций «(а не «просмотр содержимого»)

в разделе IIS «представление функций» выберите так называемую функцию » аутентификация» и doulbe нажмите на нее. Здесь можно включить проверку подлинности Windows. Это также возможно (по моему в одном из предложенных в теме) в интернете.config ( . )

но, может быть, у вас есть веб.конфигурация вы не хотите, чтобы scrue слишком много вокруг С. После этого поток не будет слишком много помощи, поэтому я добавил этот ответ.

этот ответ может помочь, если: 1) Ваш сайт работал с проверкой подлинности Windows перед обновлением до версии Visual Studio 2015 и 2) и ваш сайт пытается загрузить /login.aspx (хотя на вашем сайте такого файла нет).

добавьте следующие две строки в appSettings раздел вашего сайта Web.config .

на той же ноте-VS 2015,.vs\config\applicationhost.конфигурация не видна или недоступна.

по умолчанию .папки vs скрывается (по крайней мере в моем случае).

если вы не можете найти .vs folder, выполните следующие действия.

  1. щелкните правой кнопкой мыши на папке решения
  2. выберите ‘Свойства’
  3. на , нажмите кнопку Hidden флажок(по умолчанию снят),
  4. нажмите кнопку «Применить» кнопка
  5. появится окно подтверждения «применить изменения к этой папке, подпапке и файлам», выбранная опция, нажмите «ОК».


Повторите шаги с 1 по 5, за исключением step 3 , на этот раз вам нужно uncheck параметр «скрытый», который вы проверили ранее.

теперь должен быть в состоянии видеть .папка против.

после выполнения всех вышеприведенных ответов я понял, что не запускаю Visual Studio в качестве администратора. После запуска от имени администратора, проблема решена.

IIS7: настройка встроенной проверки подлинности Windows, как в IIS6

Это для IIS 7 в Windows Server 2008, который не является частью домена AD. Я хотел бы защитить паролем веб-сайт, где люди должны вводить имя пользователя / пароль (например, учетную запись Windows) для просмотра веб-сайта. Затем веб-сайт будет использовать свой собственный метод (формы) аутентификации для обработки учетных записей пользователей и принятия решения о том, показывать или нет конкретные страницы участника и т. Д.

В IIS6 мы просто отключили анонимный доступ и включили встроенную проверку подлинности Windows. IIS7 ведет себя по-разному, и когда я ввожу имя пользователя / пароль Windows для просмотра сайта, сайт работает нормально, но перенаправляет на страницу входа. Как только я захожу, сайт ведет себя естественно. Мне нужно иметь возможность перемещаться по сайту без входа с учетными данными сайта.

Я не думаю, что включение анонимного доступа имело бы здесь смысл, поскольку я хочу, чтобы доступ к веб-сайту был защищен паролем (всплывающее диалоговое окно «имя пользователя / пароль» при первом переходе к URL-адресу).

Любая помощь приветствуется!

5 ответов

Чтобы включить проверку подлинности Windows на IIS7 на компьютере под управлением Windows 7:

Перейти к панели управления

Нажмите Программы & gt; & gt; Программы и комплектующие

Выберите «Включение или отключение компонентов Windows» с левой стороны.

Развернуть Internet Information Services & gt; & gt; Службы всемирной паутины & gt; & gt; Безопасность

Выберите проверку подлинности Windows и нажмите кнопку ОК.

Сброс IIS и проверка в IIS для проверки подлинности Windows.

Двухэтапная аутентификация не поддерживается в интегрированном режиме IIS7. Аутентификация теперь модульная, поэтому вместо аутентификации IIS выполняется asp. Чисто выполняя аутентификацию, все это происходит одновременно.

  1. Измените домен приложения на классический режим IIS6. , ,
  2. Следуйте этому примеру ( старая ссылка ) о том, как подделать двухэтапную аутентификацию с интегрированным режимом IIS7.
  3. Используйте Helicon Ape и mod_auth для обеспечения базовой аутентификации

Настройка IIS7 для проверки подлинности Windows в Windows Server 2008

Смотрите по этой ссылке:

Наслаждайтесь этим постом :-)

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

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

В стеке есть еще одна тема с похожей темой, и лучшее решение, с которым я столкнулся, — это использовать бесплатную версию Helicon Ape


После того, как вы установили это, следуйте инструкциям на странице «HTTP-аутентификация и авторизация»

Iis проверка подлинности

Защиту файлов, к которым обращаются через IIS, можно разделить на несколько категорий: проверка подлинности, авторизация через NTFS-разрешения и IIS-разрешения. Проверка подлинности — это процесс анализа реквизитов, предоставленных в форме имени пользователя и пароля. По умолчанию все запросы к IIS выполняются от имени пользователя с учетной записью IUSR_имя_компьютера. Прежде чем ограничивать доступ пользователей к ресурсам, необходимо создать локальные или доменные учетные записи и настроить проверку более высокого уровня, чем стандартная анонимная проверка подлинности.

Настройка методов проверки подлинности

Методы проверки подлинности, которые можно настроить на вкладке Безопасность каталога (Directory Security) в окне свойств сервера, Web- или FTP-узла, виртуального каталога или файла, описаны в следующих разделах.

Варианты проверки подлинности средствами Web

  • Анонимная проверка подлинности. Пользователи могут получить доступ к открытой области Web-узла, не указывая имя пользователя и пароль.
  • Обычная проверка подлинности. Требует, чтобы у пользователя была локальная или доменная учетная запись. Реквизиты передаются открытым текстом.
  • Краткая проверка подлинности. Аналог обычной проверки с дополнительной защитой передаваемых по сети реквизитов пользователя. Краткая проверка подлинности полагается на протокол HTTP 1.1.
  • Расширенная краткая проверка подлинности. Работает, только когда учетная запись пользователя хранится в Active Directory. Подразумевает получение и хранение реквизитов пользователей на контроллере домена. Расширенная краткая проверка требует, чтобы пользователь работал с Internet Explorer версии 5 или выше по протоколу HTTP 1.1.
  • Встроенная проверка подлинностиWindows. Получает информацию посредством безопасной формы проверки подлинности (иногда называемой проверкой Windows NT типа «запрос-ответ»), при которой имя пользователя и пароль хэшируются перед передачей по сети.
  • Проверка подлинности по сертификату. Добавляет защиту SSL (Secure Sockets Layer), благодаря использованию сертификатов сервера, клиента или обеих сторон. Этот вариант доступен, только когда на компьютере установлены и настроены Службысертификации (Certificate Services).
  • Проверка подлинности в системе.NETPassport. Предоставляет единую службу входа через SSL, перенаправление HTTP, файлы cookies, Microsoft JScript и стойкое шифрование симметричным ключом.

Варианты проверки подлинности средствами FTP

  • Анонимная проверка подлинности. Пользователи могут получить доступ к открытой области FTP-узла, не указывая имя пользователя и пароль.
  • Обычная проверка подлинности. Требует, чтобы пользователь ввел имя и пароль, которые соответствуют действительной учетной записи Windows.

Настройка доступа к ресурсам с помощью разрешений

Когда проверка подлинности настроена, назначают разрешения доступа к файлам и папкам. Разрешения NTFS — наиболее распространенный способ управления доступом к ресурсам через I IS. Поскольку разрешения NTFS назначают файлу или папке, они действуют независимо от способа доступа к ресурсу.

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

В табл. 6-2 подробно описаны уровни Web -разрешений.

Табл. 6-2. Разрешения каталогов IIS

Разрешение

Описание

Чтение (Read), используется по умолчанию Пользователи могут просматривать содержимое и свойства файлов Запись (Write) Пользователи могут изменять содержимое и свойства файлов Доступ к тексту сценария (Script Source Access) Пользователи могут получить доступ к исходному коду файлов, например сценариев в приложении ASP (Active Server Pages). Этот вариант доступен только при наличии разрешений Чтение (Read) или Запись (Write). Пользователи получают доступ к исходному коду файлов. Если назначено разрешение Чтение (Read), исходный код можно читать. Если назначено разрешение Запись (Write), исходный код можно изменять. Учтите: предоставление пользователям разрешений на чтение и запись исходного кода может нарушить безопасность сервера Обзор каталогов (Directory browsing) Пользователи могут просматривать списки и коллекции файлов

Разрешения Выполнение (Execute) регулируют уровень безопасности выполнения сценариев (табл. 6-3).

Табл. 6-3. Разрешения на выполнение приложений

Разрешение

Описание

Нет (None) Запрещает запуск любых приложений или сценариев Только сценарии (Scripts only) Позволяет приложению, связанному с ядром сценариев, выполняться в этом каталоге без наличия разрешений, назначенных исполняемым программам. Разрешения Только сценарии более безопасны по сравнению с Сценарии и исполняемые фаты (Scripts and Executables), поскольку позволяют ограничить приложения, которые можно запускать в каталоге Сценарии и исполняемые файлы (Scripts and Executables) Позволяет любому приложению выполняться в этом каталоге, включая приложения, связанные с ядром сценариев, и двоичные программы Windows (файлы. dll и.ехе).

Примечание При одновременном использовании разрешений IIS и NTFS, действуют наиболее жесткие из них.

Iis проверка подлинности

1254 просмотра


3 ответа

60 Репутация автора

Я использую IIS 10 на Windows Server 2020.

Я успешно настроил IIS для использования проверки подлинности Windows при переходе на сайт. Это хорошо работает при использовании IP-адреса или имени хоста сервера.

Однако я собираюсь разместить несколько сайтов на одном сервере, поэтому я попытался настроить некоторые записи DNS, чтобы они указывали на IP-адрес сервера ( A records ), и определив имя хоста в привязке IIS для этого сайта, мне удалось правильно подключиться справа сайт при использовании этого имени в браузере.

Но по какой-то причине это нарушает аутентификацию Windows. При вводе имени пользователя и пароля в поле входа в браузер он просто не проходит аутентификацию .

Я прочитал этот ответ, но он не дал решения ( странность проверки подлинности Windows IIS )

Я попытался написать имя пользователя по-разному:

но это не имеет никакого значения.

Я посмотрел на эту страницу, но она не подходит.

Кто-нибудь знает, как заставить это работать?

Ответы (3)

плюса

4155 Репутация автора

Попробуйте отключить обратную проверку DNS в метабазе IIS. По умолчанию для проверки подлинности Windows используется Kerberos, который может выполнять обратную проверку DNS имени хоста. При включенных заголовках хоста эта проверка не будет выполнена. Сделать это:

  1. Откройте командную строку.
  2. Измените папку на C: \ Inetpub \ Adminscripts.
  3. Введите adsutil set w3svc / EnableReverseDNS FALSE и нажмите клавишу ВВОД.
  4. Перезагрузите IIS.

Ссылка: КАК: включить обратный поиск DNS для IIS

Автор: T-Heron Размещён: 11.01.2020 12:11

1 плюс

431 Репутация автора

Аутентификация Windows здесь нарушена, потому что теперь вы обращаетесь к приложению с использованием пользовательского имени хоста, и для него не заданы имена SPN. Вы смогли успешно получить доступ к приложению ранее, потому что вы обращались к нему, используя имя сервера напрямую. Также обратите внимание, что при доступе к приложению через IP-адрес вы устанавливаете соединение через NTLM, а не через Kerberos.

Чтобы решить эту проблему, вам просто нужно настроить имя участника-службы. Введите следующую команду.

setspn -a http / имя хоста имя_сервера

Обратитесь к этой статье для получения дополнительной информации

плюса

36 Репутация автора

Вам нужно изменить то, как работает пул приложений. Перейти к тому, что доставляет вам неприятности, расширенные настройки. Найдите раздел с идентификатором и попробуйте добавить учетную запись администратора домена в это поле. Как только это произойдет, перезапустите пул приложений и перезапустите веб-сайт. Если это позволяет вам аутентифицироваться, вам нужно исправить свои SPN для этого сайта. Я проведу вас через это, если это маршрут, который исправляет это

Илон Маск рекомендует:  Что такое код xptr_new_context
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL