Действия по устранению неполадок Windows ADFS

Вчера я опубликовал конкретный вопрос об ошибке, которую я получаю в ADFS, которая меня озадачила. Поскольку у меня очень ограниченный опыт устранения неполадок продуктов на базе Windows, Думаю, совет о том, как решить эту проблему, был бы очень полезен.

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

Какие шаги вы бы предприняли отсюда для дальнейшего устранения проблемы?

0
задан 13 April 2017 в 15:13
2 ответа

Выглядит многообещающе:

http://social.technet.microsoft.com/wiki/contents/articles/3910.extending-the-error-diagnostics-of-adfs.aspx

Одним из действительно полезных аспектов ADFS является то, что на страницах ASPX, которые поставляются с ADFS, есть возможность кодового уровня. Они могут быть полезны при добавлении кода для использования домашней области по умолчанию или для изменения поведения ADFS по собственным причинам. Они также обеспечивают простой способ выполнения пользовательской проверки полученных SAMLResponses. Это также может использоваться для манипулирования SAMLRespponse перед использованием ADFS для некоторых возможностей, которые не предоставляются с ADFS.

Обычно с входящими SAMLResponses можно проверить несколько стандартных вещей, и ADFS будет делать это также, но не всегда может выдать вам сообщение об ошибке, понятное человеку или понятное ему. Некоторые из этих примеров:

  1. Проверка подписи, как настроена ADFS (правильный алгоритм, правильный используемый сертификат)
  2. Проверка шифрования, как настроена ADFS
  3. и т.д...

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

Одним из распространенных запросов является возможность занести SAMLResponse в базу данных для каждого запроса, полученного ADFS. Для этого просто добавьте некоторый код в файл global.asax.cs, например, следующий фрагмент:

public void Application_BeginRequest()
{
        HttpRequest request = HttpContext.Current.Request;
        HttpResponse response = HttpContext.Current.Response;

        if (!String.IsNullOrEmpty(request["SAMLResponse"]))
        {
            SaveSamlResponseToDB(request["SAMLResponse"].ToString());
        }
}

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

2
ответ дан 4 December 2019 в 12:23

Основываясь на предложениях администратора Windows, я сделал следующее, что решило проблему.

  1. Застрахованная служба W32Time использовала NTP (не была)
  2. Убедитесь, что все обновления были установлены (были)
  3. Убедитесь, что все службы работают под учетной записью службы, а не под учетной записью контроллера домена (не были)
  4. После того, как вы убедились, что ADFS работает под учетной записью службы, воссоздайте поставщика услуг

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

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

Надеюсь, это кому-нибудь поможет.

1
ответ дан 4 December 2019 в 12:23

Теги

Похожие вопросы