Pentaho Acegi 安全框架摘要式身份验证和 Ruby on Rails
-
18-09-2019 - |
题
目前,我有一个 Ruby on Rails 应用程序来维护我的用户,我有一个单独的应用程序(Pentaho),它使用 Acegi/Spring Security 来验证用户身份。
我已经能够更改 Acegi/Spring Security 对用户进行身份验证的方式,现在它指向我的 Ruby on Rails 应用程序的数据库,我可以通过基于表单的登录对用户进行良好的身份验证。
我想知道是否可以将我的用户从 Ruby on Rails 应用程序转发到 Pentaho 的 Acegi/Spring Security 并让他们在无需填写登录表单的情况下进行身份验证?(我不想使用 CAS/SSO)
我做了一些研究,发现你可以使用:
- URL 参数,即 http://www.domain.com/auth?userid=[用户名]&password=[密码]
- 基本认证
- 摘要式认证
显然,即使通过 HTTPS,使用 URL 参数方法也不安全,因为它传递明文密码(基本身份验证也是如此),因此我的最后一个解决方案是摘要式身份验证。
我将如何将用户凭据从 Ruby on Rails Web 应用程序推送到使用 Spring/Acegi 身份验证的 Pentaho,并让用户无需填写表单即可进行身份验证?
我需要对 Spring/Acegi 框架进行哪些更改?我需要在 Ruby on Rails 中创建什么类型的链接或方法才能执行此操作?
任何帮助,将不胜感激!
解决方案
用户已经登录的应用程序(服务器端)将用户 ID 传递给其他应用程序,并获得一个短期生存令牌作为回报。这是安全的,因为它发生在应用程序之间。然后,用户将被重定向到带有令牌的第二个应用程序。我们通过这种方式实现了两个应用程序之间的 SSO。我很想知道您是否通过其他方式实现了同样的目标。
不隶属于 StackOverflow