我需要为我们的Web应用程序和服务实现STS-IP服务器。服务器需要针对以下情况发出SAML令牌:
在所有3个场景中,我们需要对我们的应用程序和服务使用的SAML令牌进行自定义声明。我们的想法是,一旦我们识别出用户,我们就会在后端系统中查找他们的授权并附上索赔。
在这些情况下,您可以假设后端身份验证存储是一个自定义实现,其身份验证存储在Active Directory中,授权存储在数据库中。
所以我的想法是,我们需要使用Windows Identity Framework之类的东西创建自定义STS-IP服务器。但我也一直在读你不应该这样做因为它可能需要一些时间。
我可以使用现成的STS-IP服务器吗?我见过的所有内容都是一个系统与另一个系统之间的映射(SAML到SAML或AD到SAML)。
为什么要花费很长时间来构建生产就绪的STS-IP?我很容易使用WIF构建一个,但我想我不明白这样做的风险。
答案 0 :(得分:1)
就“需要很长时间”而言,显示如何执行此操作的文档非常糟糕。见这里:http://social.msdn.microsoft.com/Forums/en-US/Geneva/thread/257d93be-165e-45a6-a277-fc7ed2286e7d/
无论如何,您只需要查看Microsoft提供的代码示例:Google for Identity Developer Training Kit。这应该可以帮助你开始。
答案 1 :(得分:1)
为什么不考虑使用ADFS?如果用于身份验证的后备存储是AD,则ADFS可能是评估的良好候选者。
答案 2 :(得分:1)
在编写自己的STS之前,您可能需要查看此博客并仔细查看STS中可能需要的功能。仅仅因为你可以自己建造一个,并不总是意味着你应该。
答案 3 :(得分:0)
他们“为什么不”相对简单:为什么要花几周的时间来构建一些可能只处理一个用例的东西,当你可以在一天内放入现成的STS来覆盖各种各样的东西时公司可能拿出来?自己构建它还需要您成为SAML的专家(这可能不是您公司时代的最佳人选)。
退房 - http://www.pingidentity.com/our-solutions/pingfederate.cfm
祝你好运 - 伊恩答案 4 :(得分:0)
同意@eugenio - 为什么不使用ADFS?
ADFS只能如所讨论的那样对AD进行身份验证,但它可以从AD / LDAP / SQL服务器派生授权属性
ST20的螺母和螺栓可在VS 2010和标识工具包中找到。简单的STS可以快速原型化。
有一些例子可供使用。已经提到了StarterSTS加上SelfSTS。
困难的部分是获得担保权,特别是如果这将成为生产系统的一部分。根据“安全史蒂夫”Build your own Directory Federation Service:
听起来好像我认为它会是一个 同步开发这个系统并拥有 它安全地工作,但实际上在那里 需要深入了解它 保护网络,员工, 这可能是数据 与。。。相互作用。发展很难 安全应用。它很远 更难开发安全的应用程序 其唯一责任是安全 相关。
这就是互联网上所有样本都以粗体显示免责声明的原因:
请勿在制作环境中使用