创建自定义STS服务

时间:2015-03-06 15:00:18

标签: wif sts-securitytokenservice

我正在研究WIF在SSO方面的能力。实际上我们有一个"遗产"用户和SQLServer下的权限管理数据库,我们希望在这个exsting数据库之上构建一个全新的SSO系统。

在许多教程中,我发现他们谈论使用现有的STS(如ADFSv2)进行Active Directory授权,但它不符合我的需求,因为我的用户/权限不是通过AD公开的,而是通过自定义的特定的面向业务的SQL Server数据库公开的。

所以,我需要一个自定义安全令牌服务,以便能够发出我自己的自定义令牌,但我不知道如何做到这一点。

我需要一些帮助或一个关于如何实现这一目标的例子。

谢谢

3 个答案:

答案 0 :(得分:0)

您可以在WIF SDK中找到STS示例。它包含一个带自定义标记的示例。看here

我在书籍“Programming Windows Identity Foundation

中看到的有关SSO的更多详细信息

答案 1 :(得分:0)

您可以利用下面的SQL Server数据库构建自己的自定义安全令牌服务。您必须定义在用户执行单点登录后需要共享的范围和声明。以下是一些帮助我建立我的文章的链接。我很确定通过以下链接,您将能够构建满足您需求的自定义STS。

WIF:http://chris.59north.com/post/Building-a-simple-custom-STS-using-VS2012-ASPNET-MVC

http://www.primaryobjects.com/2013/08/08/using-single-sign-on-with-windows-identity-foundation-in-mvc-net/

答案 2 :(得分:-1)

要解释为什么@ paullem的答案被删除了?

这实际上是正确答案!

问题是关于使用SQL DB进行身份验证的STS。这是{strong>完全 IdentityServer的作用。

由于它是开源的,您可以按照自己的方式进行自定义,也可以将其用作指南。

所以重复一遍 - "看看Thinktecture.IdentityServer ........"。

<强>更新

您想要一个支持SAML协议并针对SQL DB进行身份验证的自定义STS吗?

WIF不会为你做这件事。

你需要看看像Shibboleth或simpleSAMLphp这样的东西,但它们不是基于.NET的。

或者使用IdentityServer并向其添加SAML堆栈。

参考:SAML : SAML connectivity / toolkit

警告:这不是一项微不足道的练习!