【发布时间】:2015-07-02 08:45:28
【问题描述】:
因为我是 WIF 的新手。 我想在 WIF 上创建一个自定义 STS,但这些文档仅适用于 .net 3.5: http://msdn.microsoft.com/en-us/library/ee748498.aspx 我在 vs 2012 中找不到这些模板。 所以我该怎么做?任何人都可以提供一些信息给我吗? 谢谢!
【问题讨论】:
因为我是 WIF 的新手。 我想在 WIF 上创建一个自定义 STS,但这些文档仅适用于 .net 3.5: http://msdn.microsoft.com/en-us/library/ee748498.aspx 我在 vs 2012 中找不到这些模板。 所以我该怎么做?任何人都可以提供一些信息给我吗? 谢谢!
【问题讨论】:
编写自定义 STS 服务仍然在 .NET 4.5 中的 WIF 或简称 WIF 4.5 下可用。
"要创建 STS,您必须从 SecurityTokenService 类派生。在您的自定义类中,您必须至少覆盖 GetScope 和 >GetOutputClaimsIdentity 方法...",Microsoft 1
您首先从System.IdentityModel.SecurityTokenService 派生一个新类型。
请注意,我们现在使用 SecurityTokenService,它是 .NET 4.5 的 System.IdentityModel 的一部分,而不是 .NET 4.5 之前的 Microsoft.IdentityModel。
请参阅下面的链接以查看被动 STS 的示例。
Microsoft 的Federation Metadata example 是一个相当完整的自定义 STS 示例。
MSDN:
此示例将向您展示如何在运行时在 ASP.NET Web 应用程序中动态使用 WS-Federation 元数据。您还将看到如何创建生成 WS-Federation 元数据和颁发令牌的基本 STS。
此外,此示例还展示了如何将声明集成到 .NET 框架中的基础知识。您将了解如何启用 Web 应用程序以使用 WIF。您将看到它们在现有属性和函数中的用途,以及如何采取下一步直接使用 System.Security.Claims 中的 ClaimsPrincipal 类来使用它们。您还将学习如何使用本地 STS,它是 Visual Studio 2012 身份和访问工具的一部分。Tell me more
【讨论】:
模板已替换为Identity and Access Tool。
参考Windows Identity Foundation in the .NET Framework 4.5 Beta: Tools, Samples, Claims Everywhere
根据 FedUtil,不再有向导意义上的自定义 STS 工具选项。正如其他帖子所暗示的那样,您仍然可以自己滚动。
参考:What's New in Windows Identity Foundation 4.5。
看看Identity Server 这是一个非常好的自定义 STS 并根据需要进行更改。
【讨论】:
如果您是新手,那么编写自定义 STS 可能不是一个好主意 :-) 我建议您查看 ThinkTecture STS (https://github.com/thinktecture/Thinktecture.IdentityServer.v2) 中给出的实现,这是一个处理不同的 STS 示例令牌类型(SAML、SWT 和 JWT)以及不同的协议(WSFederation、OAuth、...)对于许多简单的情况,这里的内容太多了,但至少代码可以工作。
【讨论】: