0

我的 SaaS Web 应用程序需要一个身份验证/授权模块,并且我喜欢 WIF 的外观。问题在于,除了 Active Directory 之外,似乎没有一种即插即用的方式来服务声明。我的想法是使用IdentityServer并用我自己的替换 ASP.NET Membership Provider 存储库。

诀窍是

  • 面向许多不同客户的应用程序互联网。(所以ADFS2不适用)。
  • 我想要精细的操作级别权限,而不是角色。(所以ASP.NET Membership不适合)
  • 我希望我的应用程序中的用户管理他们自己的用户子集。

我打算构建的位是下面称为“索赔服务器”的粉红色框。

IClaimsService将允许创建新用户、创建角色、将权限分配给角色以及将用户分配给这些角色。我自己的应用程序将验证插入 IClaimsService 的管理屏幕并验证用户创建子用户的权限等。

我的问题是 - 这是一个有效的架构还是我完全错过了 WIF 的意义?

还是有我没有找到的替代即插即用选项?我很高兴没有重新发明轮子!

身份服务器架构

附加信息

我的网络应用程序是一个 SaaS,它需要允许我的客户在他们自己的数据围墙内创建自己的用户。

以招聘软件平台为例,在该平台上,您有竞争激烈的招聘团队,他们在系统中拥有自己的客户。一个团队不允许在另一个团队的数据上达到峰值,但每个团队都可以管理和管理他们自己的用户子集。可能有许多不同的公司在使用该平台,因此没有中央 IT 部门/域来管理它。都是自助服务。

我看过netsqlazman,它与我想要的很接近,但 Windows Identity Foundation 看起来将具有更长期的好处,因为我连接新客户并且可以将他们自己的 STS 连接到我的身份验证。

4

1 回答 1

1

我认为你是正确的,WIF 会让你走上正确的道路。基于声明的身份将继续存在,并且所有事物都在融合。WIF 使得它比过去更容易实施。

我的建议是从最简单的事情开始,即首先使用声明对用户进行身份验证。然后将用户句柄(例如电子邮件或 user_id 等)与您在应用程序中构建的任何授权架构相关联。可以是会员资格、自定义数据库等。

您描述的供应和自我管理都是特定于应用程序的,与选择的身份提供者无关(例如 IdentityServer 或与 WIF 兼容的任何其他东西:SAML 令牌、WS-Federation 等)。

随着时间的推移,这个简单的步骤将为更复杂的解决方案奠定基础,并允许您通过稍微增加的努力提供即时价值。例如,您可以允许具有社交身份的用户登录您的网站。您仍然会在您的应用程序中定义:“fiat@mail.com”->“可以管理用户”。

随着时间的推移,您会发​​现可以进一步外化的常见的、经常出现的属性(例如角色)。然后像你提议的东西是有道理的。

一个澄清:ADFS仅针对 AD 进行身份验证,但可以从任何地方(数据库、LDAP、自定义等)检索属性。

于 2012-05-14T17:06:01.530 回答