Вы можете использовать это:
myDropDown.Items.Remove (myDropDown.Items.FindByValue («TextToFind»));
Если ваш URL-адрес имеет точки в доменном имени, IE будет обрабатывать его так, как будто это интернет-адрес, а не локальный. У вас есть как минимум два варианта:
Перейдите на сайт и отмените диалог входа в систему. Пусть это произойдет:
В настройках IE:
Вы пробовали войти в систему с префиксом домена, например. Домен \ Имя пользователя? IIS 6 по умолчанию использует хост-компьютер как домен по умолчанию, поэтому определение домена при входе в систему может решить проблему.
Проверка подлинности Windows в IIS7.0 или IIS7.5 не работает с kerberos (provider = Negotiate), когда идентификатор пула приложений является ApplicationPoolIdentity. Необходимо использовать Network Service или другую учетную запись. Другая возможность - использовать NTLM для работы Windows Authenticatio (в Windows Authentication, Providers, поставить NTLM сверху или удалить переговоры)
chris van de vijver
Может быть связано с браузером. Если вы используете IE, вы можете перейти в «Дополнительные параметры» и установить флажок «Включить встроенную проверку подлинности Windows».
У меня была аналогичная проблема, в которой я хотел защитить только определенную часть моего веб-сайта. Все работало хорошо, за исключением IE. У меня есть анонимная и Windows Authentication. Для анонимных пользователей Identity устанавливается на идентификатор пула приложений. Проблема была в Windows Authentication. После некоторого копания я запустил скрипача и обнаружил, что он использует Kerberos в качестве провайдера (на самом деле он настроен на Negotiate по умолчанию). Я переключил его на NTLM и исправил его. HTH
Daudi
Добавить разрешение [Domain Users] к вашей безопасности в Интернете.
У меня была эта проблема на .net core 2 и после прохождения большинства предложений отсюда кажется, что мы пропустили настройку на web.config
<aspNetCore processPath="dotnet" arguments=".\app.dll" forwardWindowsAuthToken="false" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
Правильная настройка была forwardWindowsAuthToken = "true «это кажется очевидным сейчас, но когда есть так много ситуаций для одной и той же проблемы, сложнее определить
Edit: я также нашел полезной следующую статью Msdn , которая проходит через устранение проблемы.
В моем случае настройки авторизации были неправильно настроены.
Мне пришлось
У меня есть сервер Windows 2008, над которым я работаю, поэтому мой ответ не совсем такой же, как у OP на сервере Windows 2003.
Вот что я сделал (запись этого здесь я могу найти его позже).
У меня была такая же проблема:
[/g0]
В моем файле Web.config , У меня был этот раздел:
<system.web>
<authentication mode="Windows" />
<authorization>
<allow users="*" />
<deny users="?" />
</authorization>
</system.web>
В IIS все они, похоже, решаются под значком «Идентификация».
[/g1]
Теперь перейдите к функциям аутентификации:
[/g2]
Включить анонимную аутентификацию с помощью IUSR
:
[/g3]
Включить проверку подлинности Windows, затем нажмите правой кнопкой мыши, чтобы установить Провайдеры.
NTLM должен быть FIRST!
[/g4]
Затем проверьте, что в разделе Дополнительные настройки ... Расширенная защита является Accept и Enabled. Проверка подлинности в режиме ядра проверена:
[/g5]
Как только я это сделал, я вернулся к своему веб-приложению, нажал ссылку «Обзор», и вошел в систему без необходимости повторять мои учетные данные.
Надеюсь, это окажется полезным для многих из вас, и я надеюсь, что это будет полезно и мне позже.
Только для других людей. Если ошибка является 401.1 Unauthorized
, а ваш код ошибки соответствует 0xc000006d
, то вы фактически выполняете функцию безопасности, которая блокирует запросы к FQDN или пользовательским заголовкам хоста, которые не соответствуют вашему локальному имени компьютера:
Следуйте этой статье поддержки, чтобы устранить проблему:
http://support.microsoft.com/kb/896861
Это один взял меня некоторое время, потому что комментарии остальных не помогли мне. Я нашел эту статью и исправил ее!
Я столкнулся с тем же вопросом, что и запрос, и сделал быстрый поиск, и ничто в Интернете не исправит его.
В IIS -> Предварительная настройка -> Учетные данные физического пути (пуст)
Как только я добавил идентификатор машины (домен / пользователь), который имеет доступ к VM / серверу, запрос пароля будет остановлен.
Надеюсь, что это поможет
Я просто решил аналогичную проблему с приложением ASP.Net.
Признаки: я мог войти в свое приложение с использованием локального пользователя, но не для пользователя домена, даже если машина была правильно соединена к домену (как вы говорите в своей дополнительной записке). В средстве просмотра событий безопасности произошло событие с ID = 4625 «Недопустимый sid sid».
Решение: здесь найдено решение здесь . Проблема заключалась в том, что мои тестовые машины, где клонировали виртуальные машины (Windows Server 2008 R2, один контроллер домена и один веб-сервер). Оба имеют одинаковый SID машины, что, по-видимому, вызвало проблемы. Вот что я сделал:
Вы потеряете некоторые настройки в процессе (пользовательские настройки, статический IP, воссоздайте самозаверяющий сертификат), но теперь, когда я их воссоздал, все работает правильно.
Это исправило это для меня.
Мой сервер и клиентский ПК - это Windows 7 и находятся в одном домене
Я пробовал описанные выше трюки конфигурации IIS и взлома реестра loopback, и я просмотрел и воссоздал разрешения пула приложений и еще дюжину других вещей и до сих пор не смог избавиться от цикла проверки подлинности на моей рабочей станции разработки с помощью IIS Express или IIS 7.5, с локального или удаленного сеанса просмотра. Я получил четыре ответа статуса 401.2 и пустую страницу. Точно такой же сайт, развернутый на моем промежуточном сервере IIS 8.5, работает безупречно.
Наконец, я заметил разметку в Body Response, которая была пуста браузером, содержала страницу по умолчанию для успешного входа в систему. Я определил, что Custom Обработка ошибок для ASP.NET и HTTP для ошибки 401 препятствовала / препятствовала аутентификации Windows моей рабочей станции, но не промежуточному серверу. Я провел несколько часов, играя с этим, но как только я удалил пользовательскую обработку только для ошибки 401, рабочая станция вернулась к норме. Я представляю это еще один способ снять вашу собственную ногу.
В нашей интрасети проблема была решена на стороне клиента, изменив настройки в безопасности, как показано здесь. Любой из флажков справа работал для нас.
У меня тоже была такая же проблема. Пробовал большинство вещей, найденных на этом и других форумах.
Наконец, это было успешным после выполнения небольшого собственного RnD.
Я зашел в настройки IIS, а затем в настройки моего веб-сайта добавил мои Группа пользователей домена домена.
Теперь, когда все пользователи моего домена получили доступ к этому сайту, я не сталкивался с этой проблемой.
Надеюсь, что это поможет
WindowsIdentity.GetCurrent
верен: вы должны получить пользователя APPPOOL. Это связано с тем, что процесс ASP.NET, выполняющий ваш код, является текущим идентификатором. Если вы хотите, чтобы пользователь возвращал идентификатор сайта, вам нужно добавить следующую строку в ваш web.config:
<identity impersonate="true" />
Это заставляет процесс принять личность пользователя, запрашивающего страница. Все действия будут выполняться от их имени, поэтому любые попытки чтения папок в сети или доступа к ресурсам базы данных и тому подобное будут означать, что текущему пользователю потребуются разрешения на эти вещи. Подробнее о олицетворении здесь вы можете прочитать здесь . Обратите внимание, что в зависимости от того, как настроена ваша топология веб-сервера или базы данных, вы можете столкнуться с проблемами делегирования с включенной олицетворением.
Но ваша оригинальная проблема заключается в том, что она кажется, что идентификатор не может быть определен, и вы получение всплывающего окна входа. Отмечу, что вам не нужен блок <deny>
, если вы отключили анонимную аутентификацию в IIS. Мы никогда не включаем его (кроме специальных <location>
блоков и т. Д.), Поэтому я бы сказал, что вы можете попытаться удалить его и повторить попытку. Все остальное звучит правдоподобно.
Вы не указали, какой пользователь запускает пул приложений в IIS. Это пользовательская учетная запись или она по умолчанию? Если это обычай, это учетная запись домена или локальная учетная запись на веб-сервере? Пользовательским учетным записям иногда может потребоваться еще несколько шагов, например, регистрация SPN. Кроме того, может возникнуть проблема с тем, что пользовательская учетная запись не имеет разрешения в AD для разрешения учетной записи входящего пользователя.
Вы также можете проверить журналы IIS, чтобы узнать, какой ответ возвращается. Скорее всего, это будет 401, но у него должен быть дополнительный номер после 401.2 или что-то еще. Этот подканал иногда помогает определить корневую проблему. В этой статье KB перечислены пять.
Не создавайте ошибок на своем сервере, меняя все. Если у вас есть окно для входа в систему при использовании проверки подлинности Windows в 2008 R2, перейдите к Providers
и переместите UP NTLM
для каждого вашего приложения. Когда Negotiate
является первым в списке, Windows Authentication может перестать работать для определенного приложения в 2008 R2, и вам может быть предложено ввести имя пользователя и пароль, чем никогда не работать. Это случается, когда вы делаете обновление своего приложения. Просто убедитесь, что NTLM
первым в списке, и вы больше никогда не увидите эту проблему.
В моем случае решение было (помимо предложенных выше настроек) перезапустить локальный компьютер / IIS для хостинга (хостинг-сервер). Мой пользователь только что был добавлен во вновь созданную группу безопасности AD - и политика не применима к учетной записи пользователя AD, пока я не вышла из системы / перезагрузила мой компьютер.
Надеюсь, это поможет кому-то.
У меня была та же проблема, что и пользователь (Identity), который я использовал в пуле приложений, не был ниже для группы IIS_IUSRS. Добавлен пользователь в группу, и все работает
У меня такая же проблема, и она была решена путем изменения идентификатора пула приложений пула приложений, под которым веб-приложение работает в NetworkService