问题标签 [adfs2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
813 浏览

adfs2.0 - 经典 ASP 和 WIF

Classic Asp(据我了解)并不是微软真正“鼓励”的(例如,VS 中没有经典的 ASP 项目),本质上是包含 HTML 和某种脚本的 asp 页面的集合。没有这样的 .config 文件。

既然如此,那么经典的ASP站点可以集成到WIF吗?

您如何“强制”应用程序使用 STS 进行身份验证?(没有可供 FedUtil 更改的 .config 文件)。

对于仍然拥有大量传统经典 ASP 站点并希望使用 STS 进行联合身份验证的大客户,您如何解决这个问题?

PS 在 Internet 上有一个参考,即“在 IIS7 中,您选择 URLAuthorisation 模块并取消选中仅用于托管代码设置。我用它来保护静态文件和一个 cgi exe,所以我认为它也会保护 .asp 文件”。

我仍然对 STS 进入此解决方案的位置感到困惑?IIS 7 如何知道 STS 在哪里?

0 投票
1 回答
8717 浏览

wcf - 使用 ADFS2 作为 IP 使用 WIF 保护后端 WCF 服务

我在使用 ADFS2 保护从被动联合网站调用的后端 WCF 服务时遇到问题。我有在网站上工作的被动联合,但后端服务给我带来了问题。

拼图的碎片。

  1. 从被动联合网站提供的 Silverlight 客户端。
  2. Silverlight 调用托管在被动联合网站上的 WCF 服务(应用服务)。
  3. 我在配置中将 SaveBootstrapToken 设置为 true。
  4. 从应用服务中,我想使用带有 ActAs 场景的 BootstrapToken 调用后端 WCF 服务。
  5. 联合网站和后端 WCF 服务在 ADFS2 中设置为单独的 RP,令牌加密已打开。两者都可以委托。

后端服务配置:

我已使用行为扩展将 WIF 合并到管道中。

客户端配置

使用添加服务引用工具添加服务时,会在客户端创建以下配置:

这是服务客户端代码:

这是我得到的例外:

我确定我在配置和/或代码中遗漏了一些东西,有人可以帮我吗?

0 投票
1 回答
1021 浏览

wif - 使用 WIF 从 RSTR 令牌反序列化声明

我正在构建自己的 STS,它处理不同类型的协议(WS-Federation、OAuth 等......)。我在处理 ADFS 2 发布到我的 STS 的 RSTR 令牌时遇到了困难。

我已成功反序列化声明的代码,但是我必须添加部分 microsoft.identityModel 配置部分才能使其正常工作,并且我需要在 Trusted People 存储中添加 ADFS 2 签名证书。

我有自己的配置部分,我在其中指定内容,因此使用 microsoft.identityModel 是多余的。

代码:

我想避免的必要配置:

0 投票
3 回答
17272 浏览

.net - ADFS 2.0 Web 应用注销

我们正在使用客户 ASP.NET 按钮注销使用 ADFS 进行身份验证的 Web 应用程序。我们已经尝试了几个选项来尝试让应用程序正确退出,但似乎没有任何效果。

它通常会将您带到联合服务器上的注销页面,该页面显示您已正确注销,但如果您回击,您仍然可以访问 Web 应用程序。

试过:https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0

https://{DNS_name_of_RP_STS}/adfs/ls/?wa=wsignout1.0&wreply={post-sign-out_landing_URL} 等

有没有人让它正常工作?

谢谢你的时间

0 投票
2 回答
13227 浏览

active-directory - ADFS 2.0 - 我如何调试“401 - 未经授权”

我用 Active Directory 和 ADFS 2.0 设置了一个测试服务器 2008 框。我有一个使用 WIF 来联合身份的 ASP.NET 应用程序。ADFS 配置为使用 Active Directory 获取身份信息。我使用 WIF 将客户端应用程序配置为使用 ADFS 端点。

当我尝试以用户身份从浏览器加载 ASP.NET 应用程序时,我被重定向到 ADFS 端点并提示输入凭据。我尝试使用多个用户帐户登录,甚至重置密码,但凭据似乎永远不会正确,并返回 401 Unauthorized。我可以使用相同的凭据成功登录其他系统。

我已在详细模式下启用调试跟踪并在详细模式下启用审核,但我找不到任何错误或信息来帮助我找出问题所在。

如何获取更多信息以缩小问题范围?

更新:

我发现这个问题是由我的测试环境引起的。我的开发机器位于我们的公司域 (acme.com) 上。我为测试域控制器 (notacme.com) 和 Web 服务器创建了两个 2008R2 虚拟机。

如果我尝试从 acme.com 域上的计算机访问该网站,则会出现上述错误。如果我尝试从 notacme.com 域上的计算机访问该网站,它可以工作。

如何从 acme.com 域上的计算机访问该网站?

0 投票
1 回答
892 浏览

c# - ADSF 安全 Web 应用程序调用 Web 服务

我已经完成了所有 Active Directory 联合服务 2.0 的设置并准备好工作,但是我有一个场景几乎超出了我所阅读的关于启用依赖方应用程序的所有内容。有充分记录的 2 个场景涉及 A) 网站的被动身份验证或 B) 使用经过身份验证的胖客户端来调用 Web 服务。

我的场景如下:我有一个通过 Net.TCP 调用 WCF 服务进行数据访问的 Web 应用程序。我需要使用 ADFS 2.0 来使用安全令牌保护每个 WCF 调用。

我也不能使用从网站使用 ADFS 进行身份验证的被动方法(我无法控制的安全限制)。

所以我的问题是,是否可以通过网站从 ADFS 手动请求安全令牌,然后使用相同的令牌调用我的 WFC 服务方法?

0 投票
2 回答
17478 浏览

adfs2.0 - 在 ADFS 2.0 中未将声明传递给依赖方

好的,所以我对索赔感知应用程序的整个世界都很陌生。我能够使用 Azure ACS 快速启动并运行,但在尝试使用 ADFS 2.0 作为身份提供者时情况有所不同(我实际上想将其用作联合提供者,但目前我'我只是试图让一个样本运行使用它作为身份提供者)。

我一直在查看此处的指南,并尝试遵循AD FS 2.0 Federation 以及此处列出的 WIF 应用程序分步指南指南。它会带您完成 ADFS 2.0 的设置以及一个小的声明感知示例应用程序,您可以使用它来查看正在发送的声明。

因此,我可以通过指南中定义的声明(只是 Windows 帐户名称)来启动并运行它。问题是当我尝试添加更多内容时。我可以转到 ADFS GUI 中的依赖方应用程序,并使用Pass Through 或 Filter Incoming Claim规则模板添加一个颁发转换规则。但是,当我运行我的应用程序时,除非添加的声明类型是Name,否则它不会将声明传递给我的应用程序。

我想要传递的其中一个是登录到应用程序的用户的电子邮件地址。所以我添加了一个规则来传递电子邮件地址,然后更新了示例应用程序的 web.config 以取消在claimTypeRequired部分下的这一行:

请注意,我将其设置为非可选。我还更新了应用程序的联合元数据以添加以下内容:

然后我进入 ADFS GUI,进入依赖方信任并在我的示例应用程序上选择从联合元数据更新。因此,它现在将电子邮件列为已接受的声明之一。

然后,我进入声明提供者信任并将电子邮件声明规则添加到 Active Directory 提供者信任的接受转换规则中(仅列出一个)。

但是,当我运行该应用程序时,它不会通过电子邮件声明(或我尝试的任何其他方法)。有人可以告诉我我在这里缺少什么吗?

我还应该注意,我进行了测试以将我的应用程序更改为接受电子邮件声明规则,它不仅没有通过电子邮件,而且仍然通过Windows 帐户名称名称声明,尽管事实上我什至没有将它们列为我的申请的已接受索赔。

如果有人能指出我在这里严重错误的地方,将不胜感激。

根据之前的博客文章启用日志记录后,以下是日志中的相关条目: 追踪记录 事件 ID 1000,“详细信息中包含调用主体的输入声明”: 输入索赔日志条目

所以你可以看到,我要求的信息很明显丢失了。我将日志输出设置为详细,但实际上没有任何其他兴趣。您将看到 NETWORK SERVICE 用户的跟踪记录(具有相同的声明集),但没有什么引人注目的。所有日志条目都是信息性的,没有任何错误。

0 投票
0 回答
400 浏览

asp.net - 当我将 IIS 应用程序池切换为“经典”时,我的 Home Realm Discovery 页面不显示

背景:

我正在尝试在 Home Realm Discovery 页面上进行工作——最终尝试注入 WHR 子句以绕过 Home Realm Discovery 页面。

除非我将应用程序池从“集成”切换到“经典”(我在浏览器中出现错误),否则我正在尝试做的事情将不起作用。

将 IIS 应用程序池切换到

问题:

当我将 ADFS 的 IIS 应用程序池从“集成”切换到“经典”(Framework v 2.0)时,我的 Home Realm Discovery 页面不会显示在我的浏览器上。

当我在 IIS 应用程序池中将事物切换回“集成”时,Home Realm Discovery 页面被成功绘制。

家庭领域发现页面

如何进行设置,以便在 IIS 设置为“集成”的浏览器中绘制 Home Realm Discovery 页面?

0 投票
2 回答
12281 浏览

tomcat - 如何使用 ADFS 2.0 和 SAML/SSO 保护 Tomcat 的 web 应用程序?

我想用 ADFS SSO 保护我的 webapps(在 Tomcat 5.5 上)。通过 Apache2 及其重写模块从外部访问 webapps。

有几个步骤可以使它工作(随机顺序):ADFS - 添加 b. Shibboleth - ADFS c。Apache2 - Shibboleth d。XXXXX - 雄猫

每个教程都不清楚或有很多错误或已过时,所以我对上述所有步骤都有问题。ADFS 和 ADDS 在 Windows Server 2008 R2 Shibboleth 上运行,Apache2、Tomcat 在 Centos 5.5 上运行

请建议如何连接所有上述技术。

这是对我有用的Shibboleth 配置

这是Apache 配置

我还在ADFS 2.0 中添加了具有以下属性的信赖方信任:

我还添加了SAML 断言消费者端点

我不确定我是否错过了什么。

现在我有新问题了。浏览器知道我是否登录,但我需要知道谁在webapp端登录(有HTTP_EMAIL等属性,但这些都是空的。

0 投票
1 回答
1588 浏览

.net - 将 ADFS 令牌从客户端发送到 WCF 服务

我有一个要求,我的 Silverlight 应用程序需要连接到 WCF 服务以通过中间 WCF 服务获取数据,该服务托管在与 Silverlight 相同的域中。也就是说,Silverlight 将调用中间服务,中间服务将随请求附加 IssuedToken 并将其发送到主 WCF 客户端。主 WCF 服务将从 Thread.Principal 检索声明。

但是这段代码失败了。我找不到有关如何实现此目的的财产文档。谁能帮我解决这个问题。

谢谢,