【发布时间】:2014-02-07 02:53:08
【问题描述】:
我有两个 Grails 应用程序,它们具有相似的逻辑,使用两个不同的数据库,但需要相同的用户、用户角色、用户权限,并且它们之间关联的所有连接表都相同。例如,如果用户登录到第一个应用程序并更改了他们的密码,则需要在第二个应用程序数据库上更新该更改。
我的问题是:有没有办法使用 RESTful API 做到这一点?此实施是否有任何最佳实践?我意识到 LDAP 或其他类型的外部目录服务可能是最好的选择,但我想看看是否有一种安全的方法可以使用 RESTful API 来做到这一点。
我在使用 REST 更新用户时看到的问题是密码更新时。当第二个应用程序仍然具有与用户关联的旧凭据时,对第二个应用程序的请求将尝试使用新凭据进行身份验证。有没有安全的方法解决这个问题?
如果能够使用已经为这两个应用程序设置的表,那就太好了。使用 LDAP 服务器的问题在于,必须将一组其他应用程序迁移到使用 LDAP 服务器进行身份验证。这将对应用程序套件造成相当大的体系结构更改。
【问题讨论】:
-
我还想到了另一种可能最好的解决方案......只是使用多个数据源连接到对方的数据库并在用户更新第一个时更新用户。
标签: rest grails spring-security ldap