首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ADFS 3.0 -扩展功能

ADFS 3.0 -扩展功能
EN

Stack Overflow用户
提问于 2016-02-15 20:58:31
回答 1查看 824关注 0票数 1

我目前正在实现一个包含ADFS3.0和多因素身份验证的解决方案。我遵循了TechNet (https://msdn.microsoft.com/en-GB/Library/dn783423.aspx?f=255&MSPPError=-2147217396)中的步骤来设置示例适配器,它运行得很好。我现在想扩展它,并面临一些问题。我已经搜索了网页和堆叠溢出,寻找类似的东西,但找不到任何东西,所以我把它们都张贴在这里。不确定我是否需要把它分成不同的问题:

  1. 我需要扩展适配器,以使html的一部分由外部脚本呈现,也就是说,当adfs适配器html被呈现时,我需要添加一个要加载的额外脚本。据我所知,可以修改主题以在onload.js中包含额外的javascript,但我不想走这条路,因为脚本确实需要外部加载。

我能想到的唯一方法,也是一种工作,就是在html中注入javascript,该html以二进制方式加载脚本,如下所示:

代码语言:javascript
复制
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文件夹并从中读取安全吗?

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-22 15:22:08

我自己解决了这个问题:

1-接口IAdapterPresentationForm提供了一种方法来返回我想要包含的任何脚本或css : string GetFormPreRenderHtml(int ),例如:

代码语言:javascript
复制
 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.在注册适配器时,可以使用: registering $typeName -Name -Verbose -ConfigurationFilePath传递配置文件。

该管道将为您打开一个流,并将其传入:

代码语言:javascript
复制
void OnAuthenticationPipelineLoad(IAuthenticationMethodConfigData configData)

参考资料:http://blogs.recneps.net/category/ADFS

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35418952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档