Pentaho Acegi セキュリティ フレームワーク ダイジェスト認証と Ruby on Rails
-
18-09-2019 - |
質問
現時点では、ユーザーを管理する Ruby on Rails アプリケーションがあり、ユーザーを認証するために Acegi/Spring Security を使用する別のアプリケーション (Pentaho) があります。
Acegi/Spring Security がユーザーを認証する方法を変更することができ、Ruby on Rails アプリケーションのデータベースを参照するようになり、フォームベースのログインでユーザーを正常に認証できるようになりました。
Ruby on Rails アプリケーションからユーザーを Pentaho の Acegi/Spring Security に転送して、ログイン フォームに記入せずに認証させることができるかどうか疑問に思っていました。(CAS/SSO を使用する予定はありません)
いくつかの調査を行ったところ、次のものを使用できることがわかりました。
- URL パラメータ、つまり http://www.domain.com/auth?userid=[ユーザー名]&password=[パスワード]
- 基本認証
- ダイジェスト認証
URL パラメータ方式の使用は、クリア テキストのパスワードを渡すため (基本認証も同様)、HTTPS 経由でも安全ではないことは明らかです。そのため、私の最後の解決策はダイジェスト認証です。
Ruby on Rails Web アプリケーションから Spring/Acegi 認証を使用する Pentaho にユーザー資格情報をプッシュし、フォームに記入せずにユーザーを認証させるにはどうすればよいでしょうか?
Spring/Acegi フレームワークにどのような変更を加える必要がありますか?これを行うには、Ruby on Rails でどのようなリンクまたはメソッドを作成する必要がありますか?
助けていただければ幸いです。
解決
これにユーザーが既に他のアプリケーションへのユーザIDにパスを記録しており、リターンに短い生活トークンを取得上のアプリケーション(サーバ側)。それは、アプリケーション間で起こるので、これは安全です。ユーザは、次いで、トークンを有する第二のアプリケーションにリダイレクトされます。我々は2つのアプリケーションこの方法間のSSOを実現しました。私は、あなたが他の手段で同じことを達成しているかどうかを知るために興味を持っています。