目前,我有一个 Ruby on Rails 应用程序来维护我的用户,我有一个单独的应用程序(Pentaho),它使用 Acegi/Spring Security 来验证用户身份。

我已经能够更改 Acegi/Spring Security 对用户进行身份验证的方式,现在它指向我的 Ruby on Rails 应用程序的数据库,我可以通过基于表单的登录对用户进行良好的身份验证。

我想知道是否可以将我的用户从 Ruby on Rails 应用程序转发到 Pentaho 的 Acegi/Spring Security 并让他们在无需填写登录表单的情况下进行身份验证?(我不想使用 CAS/SSO)

我做了一些研究,发现你可以使用:

显然,即使通过 HTTPS,使用 URL 参数方法也不安全,因为它传递明文密码(基本身份验证也是如此),因此我的最后一个解决方案是摘要式身份验证。

我将如何将用户凭据从 Ruby on Rails Web 应用程序推送到使用 Spring/Acegi 身份验证的 Pentaho,并让用户无需填写表单即可进行身份验证?

我需要对 Spring/Acegi 框架进行哪些更改?我需要在 Ruby on Rails 中创建什么类型的链接或方法才能执行此操作?

任何帮助,将不胜感激!

有帮助吗?

解决方案

用户已经登录的应用程序(服务器端)将用户 ID 传递给其他应用程序,并获得一个短期生存令牌作为回报。这是安全的,因为它发生在应用程序之间。然后,用户将被重定向到带有令牌的第二个应用程序。我们通过这种方式实现了两个应用程序之间的 SSO。我很想知道您是否通过其他方式实现了同样的目标。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top