c# - 如何通过用户凭据访问 AD FS 声明?

标签 c# .net wcf web-services adfs2.0

因为我正在开发一个 WCF Web 服务,以便在用户的登录操作和他们的事件目录角色和权限之间建立中介。我不希望我的主机应用程序直接与 AD FS 对话。我希望任何主机应用程序使用我的网络服务,它会根据给定的凭证提供必要的信息。

在我的网络方法中,我需要通过用户的登录凭据从 AD FS (WIF) 获取声明。

我的网络方法将有两个输入参数,Window 用户的电子邮件 ID/Windows 帐户名和密码。

因此,我想通过给定用户的凭据在我的 Web 方法中访问 AD FS 声明。

我如何通过给定用户的凭据获得 AD FS 声明?

最佳答案

您应该对使用集成 Windows 身份验证的 AD FS 2.0 的 https://.../adfs/services/trust/13/usernamemixed 端点执行 Web 服务调用,提供用户的凭据以便可以建立连接设置。在此端点上,调用 http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue手术。 (更多详细信息在 section 4.1 of the WS-Trust 1.3 specification 中。)此操作的输入是 RequestSecurityToken 请求。响应包含一个 SAML token ,其中包含您需要的声明。

请注意,AD FS 2.0 WSDL 位于 https://.../adfs/services/trust/mex:如果您指向 Visual Studio Add Service Reference向导,或您的 Java wsimport , 到该 URL,然后您将轻松生成可用于执行 RST Issue 操作的客户端代码。

关于c# - 如何通过用户凭据访问 AD FS 声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981065/

相关文章:

c# - 在 MVC 项目中使用 System.Device

C# + LINQ + ADO.NET EF,加入 2 个表并返回所有内容,无需手动指定所有字段

c# - EPPlus 能否区分 Excel 工作表中的空白单元格和空文本单元格?

asp.net-mvc - WebService 还是简单的 MVC Controller ?

c# - 缺少类型映射配置或不支持的映射

c# - 通过转换到一个对象然后再返回我会失去什么?

c# - 如何使用 lambda 或 linq 订购 asc/dsc

c# - 在 .NET C# 中集成 Python 脚本

c# - ClientMessageInspector 添加 BinarySecurityToken 和签名

c# - 检查任意字符串是否为有效文件名的最简单方法