2016-02-15 4 views
1

В настоящее время я реализую решение, состоящее из ADFS 3.0 с многофакторной аутентификацией. Я выполнил шаги в TechNet (https://msdn.microsoft.com/en-GB/Library/dn783423.aspx?f=255&MSPPError=-2147217396) для настройки адаптера образца, который отлично работает. Теперь я хочу расширить его, и у меня есть несколько проблем. Я искал в Интернете и stackoverflow для чего-то подобного, но не мог найти ничего, поэтому я размещаю их все здесь. Не уверен, что если мне нужно разделить это на разные вопросы:ADFS 3.0 - Расширяющаяся функциональность

  1. Мне нужно продлить адаптер так, что часть HTML визуализируются с помощью внешнего сценария, то есть мне нужно добавить дополнительный скрипт для загрузки, когда Создается adfs-адаптер html. Из того, что я мог найти, можно было бы изменить тему, чтобы включить дополнительный javascript в onload.js, но я не хочу идти по этой дороге, так как сценарий действительно нужно загружать извне.

Единственный способ, которым я могу думать, и вид работ, чтобы придать JavaScript в HTML, который загружает скрипт динамически, что-то вроде этого:

var script =document.createElement('script') 
fileref.setAttribute("type","text/javascript") 
fileref.setAttribute("src", <my_script_loaded_over_http>) 

fileref.onload = 
     function() { 
     //call script method 
     }; 

Но поскольку внешний сценарий зависит от Событие «onload» окна для некоторой его логики, оно не работает, поскольку оно загружено слишком поздно.

Возможно ли это вообще?

  1. Возможно ли, чтобы адаптер ввел новые ответные заголовки? (Я предполагаю, что это не так)

  2. Есть ли стандартный способ предоставления файла конфигурации в dll адаптера, так что некоторые значения могут быть изменены во время выполнения без необходимости развертывания новой dll? Если нет, безопасно ли записать указанный файл конфигурации в папку adfs и прочитать оттуда?

Большое спасибо

ответ

1

мне удалось понять это сам:

1- Интерфейс IAdapterPresentationForm предоставляет метод, возвращающий любые скрипты или CSS Я хочу, чтобы включить: струнный GetFormPreRenderHtml (INT LCID), например:

public string GetFormPreRenderHtml(int lcid){ 
     StringBuilder sb = new StringBuilder(); 
     sb.Append("<script src='http://myjs.js' type='text/javascript'></script>"); 
     sb.Append("<link rel='stylesheet' type='text/css' href='http://mycss.css' />"); 
     return sb.ToString(); 
} 

2- Не совсем

3. При регистрации адаптера можно передать конфигурационный файл: Register-AdfsAuthenticationProvider -TypeName $ typeName -Name -Verbose -ConfigurationFilePath.

Трубопровод будет открыть поток для вас, и передать его в:

void OnAuthenticationPipelineLoad(IAuthenticationMethodConfigData configData) 

Ссылка: http://blogs.recneps.net/category/ADFS

Смежные вопросы