身份验证服务器支持不同应用程序使用的多个“用户群/源”

时间:2011-12-16 20:34:59

标签: security authentication ldap authorization single-sign-on

这已经突显了我们的组织,我正在寻找一个建议。我们都使用了Windows活动目录,并且没有问题,直到很少有应用程序组发现他们要么得到组织的IT基础团队的支持太少,要么他们觉得他们无法在给定的基础设施环境中解决他们的需求。这一切都结束了一些使用域的活动目录的应用程序,一对使用活动目录,但他们也使用他们自己的LDAP来设置对他们的应用程序的访问权限和另一个使用他们的应用程序(这里非常出色 - Ciebel CRM)非常自己的身份验证模型,因为它们需要在其应用程序中使用外部用户,而本地策略不允许在AD域中创建它们。

到目前为止,我们必须将它们挂钩到某种集成中。我们无法将它们全部移动到组织的活动目录(这个选项将是我更喜欢的选项),并且有一些非常强大的理由说明为什么这是不可能的。

所以我在考虑是否有能够针对多个用户来源对用户进行身份验证的身份验证服务器(或其他任何可能被调用的服务器)?比如说,公司的AD(对于所有仅使用它们的源或用户数据的应用程序等)和另一个可用于需要“外部”和内部用户的应用程序的LDAP服务器(或其他东西)能够与他们认证?

如果有用的话,可以提供更多信息 - 应用程序是C ++,Java,.NET和Web应用程序的混合体。我提到的集成通常是这样的:应用程序A发送消息或将服务提取到应用程序B并将用户令牌附加到它上面我希望应用程序B能够与auth服务器通信并了解它是否是有效的用户令牌以及该用户的组/属性是什么。

1 个答案:

答案 0 :(得分:0)

这似乎是使用安全令牌服务(sts)的情况,您可以在其中呈现给定的凭据(例如user @ domain1),并且此sts会向您返回为所需目标服务设计的令牌。

我不知道任何STS正是你想要的,但你可以尝试使用一些框架自己实现一个(例如apache axis2 with rampart)。 STS本身只是一个Web服务,您仍然需要将所有这些内容粘合在一起(即编写将处理不同后端身份验证目录的代码),优点是您隐藏了定义良好的Web服务背后的所有这些丑陋的东西

我猜你可以使用JAX-WS或Jboss'PicketLink STS实现一致的STS。

祝你好运