使用.net 4.5在VS2012中创建自定义STS服务

时间:2013-03-24 12:17:22

标签: wcf wif

因为我是WIF的新手。 我想在WIF上创建自定义STS,但这些文档仅适用于.net 3.5: http://msdn.microsoft.com/en-us/library/ee748498.aspx 我在vs 2012中找不到这些模板。 所以我该怎么做?任何人都可以向我提供一些信息吗? 谢谢!

3 个答案:

答案 0 :(得分:5)

编写自定义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类直接使用它们。您还将学习如何使用作为Visual Studio 2012身份和访问工具一部分的本地STS。 Tell me more


[1] System.IdentityModel.SecurityTokenService

答案 1 :(得分:3)

模板已替换为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并根据需要进行更改。

答案 2 :(得分:0)

如果您是全新的,那么编写自定义STS可能不是一个好主意:-)我建议您查看ThinkTecture STS中给出的实现(https://github.com/thinktecture/Thinktecture.IdentityServer.v2)这是一个示例STS处理不同的令牌类型(SAML,SWT和JWT)以及不同的协议(WSFederation,OAuth,...)这里有许多简单的案例,但至少代码可以工作。