-1

我正在构建几个不同的 Web 服务,托管在不同的机器上,但我希望一组用户能够访问所有这些服务,同时在服务之间也有不同的读/写权限。为这些多种服务完成安全身份验证方案的最佳方法是什么?

4

2 回答 2

2

这是一个非常笼统的问题,所以这里有一个笼统的答案。

您正在寻找的是针对所有站点的单一身份验证方案以及不同站点上的不同授权和访问控制方案。

第一部分几乎是“单点登录”(SSO) 系统为您提供的,尽管您可以在没有 SSO 的情况下执行此操作。

第二部分可以通过将访问权限管理与授权方案分开来实现。例如:

  • 使用 Spring Security,您可以创建一个“UserDetails”服务,该服务使用共享 LDAP 服务来获取用户名和密码,并使用本地数据库表来管理“角色”。

  • 或者,您可以对所有内容使用单个 LDAP 系统,但扩展架构以允许表示各个网站的访问控制角色。

(这些只是示例......不是建议。我不会提出具体建议,因为客观上几乎不可能做到,特别是因为您的要求非常高。例如,很大程度上取决于用于实施网站。)

于 2013-07-28T07:56:40.903 回答
2

目前我正在为我们的项目建立一个注册系统,类似于你想要的。虽然我们有一个不同的堆栈:Scala-Akka-Spray,但身份验证系统基于StormpathApache Shiro,具有一些自定义内部逻辑,用于更多 REST 样式的会话管理。Strompath 将为您提供一个具有相当灵活的组设置的良好用户管理系统,如果您不使用 Akka,Shiro 将为您提供 goog 会话管理。

于 2013-07-28T09:26:23.117 回答