【问题标题】:Is creating custom Security Token Service in Visual Studio 2015 .NET 4.5 is good idea?在 Visual Studio 2015 .NET 4.5 中创建自定义安全令牌服务是个好主意吗?
【发布时间】:2016-09-09 23:38:59
【问题描述】:

我想在我的公司实施通用认证和授权机制。它应该能够使用 Active Directory 帐户、自定义用户数据库、外部 OAuth 令牌并准备添加其他方法(可能类似于“安全 VPN”帐户)。

我已经阅读了很多关于安全令牌服务的内容,它完全符合我的需求,但我发现我应该只将自定义 STS 用于开发/测试目的,而在生产环境中我应该使用 Active Directory 之类的东西联合服务 2.0 或 Microsoft Azure 访问控制服务,但 AD FS 2.0 无法授权 AD 中不存在的用户,对吗?他们坚持使用他们的解决方案的原因是什么?

在 Visual Studio 2015 中,我什至找不到像“身份和访问工具”这样的工具,一切都隐藏在框架中。所以我想知道基于 System.IdentityModel.SecurityTokenService 创建自定义 STS 是个好主意还是我不了解实际标准?如果是这样,是否有人有一些指向教程/示例的链接,如何在 WIF 4.5 中进行操作?

【问题讨论】:

  • 对于您所要求的意见,我无法帮助您,但您可能会在泰泽尔的网站上找到一些帮助:bitoftech.net
  • 我刚刚问了同样的问题,令我惊讶的是,这个问题没有一个简单的解决方案,当内部用户在 AD 中并且外部用户存储在数据库中时,用户在域内进行身份验证和在域外进行用户身份验证。我被同样的问题困住了!所有这些出色的 MS 产品都无法解决这种情况。一个版本的 VS 到处都是 STS,而 VS 2013、2015 什么都没有,恕我直言,我认为 MS 无法下定决心。
  • 自从我问了这个问题一个月后,我的结论是:在我看来,VS STS 类已被弃用。有一个名为 IdentityServer v3 的开源 STS 项目。在版本 2 中,他们使用的是标准 VS STS 类并在此基础上构建了不错的 STS。但是 v3 使用 OAuth 2.0 标准提供了更多的灵活性,并支持 OpenId 连接。在 IS3 中,您可以在任何地方对任何东西进行身份验证(在 WCF 中进行身份验证或使用 Windows 身份验证有点棘手但可能)。所以我推荐使用它。如果您没有经验或没有很多时间,就不可能创建更好的解决方案。

标签: c# .net visual-studio-2015 wif sts-securitytokenservice


【解决方案1】:

我找到了对我很有帮助的文章。在开始实施自己的 STS 之前,您应该问一些问题:https://virtualdirectory.wordpress.com/2012/06/09/extending-adfs-to-multiple-identity-and-attribute-stores-part-2-of-2-the-tough-questions/

【讨论】:

    【解决方案2】:

    为什么不采用现有的开源框架,例如 IdentityServer 3 (http://www.thinktecture.com/identityserver)?不需要重新发明轮子吧?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2016-02-28
      • 1970-01-01
      相关资源
      最近更新 更多