2

2つの別々のWebアプリケーションを統合しようとしています。1つは独自のセキュリティパラダイムを備えた既存のカスタムWebアプリケーションで、もう1つはレポートプラットフォーム(JasperServer)です。JasperのWebサービスインターフェイスを使用して、レポート機能をアプリケーションに統合できるようにしたいと考えています。私たちのセキュリティモデルは複雑で自家栽培ですが、希望はあると思います。

認証元としてWebサービスURIを含む暗号化された文字列であるCookieと、ユーザーがログインすると作成され、ログアウトすると破棄されるデータベースに保存されるトークンを設定します。Spring Securityを使用しているため、これを利用してJasperに一種のSSOを実装できると思います。

私がすべきだと思うのは、上記のCookieをチェックする事前認証フィルターを実装することです。次に、それを復号化し、提供された認証ソースに対してWebサービス呼び出しを行って、トークンがデータベースでアクティブであることを確認します。そうである場合、そのトークンを使用して、UserDetailsオブジェクトとして返される可能性のあるユーザーおよびロール情報を指すことができます。

残念ながら、私は危険であることが十分にわかっていますが、効果を発揮するには十分ではありません。私は正しい方向に進んでいますか?このソリューションは耐えられるように聞こえますか?もしそうなら、どこから始めるのが良いでしょう、そしてあなたが私に指摘することができる同様の何かの例はありますか?私はかなり周りを検索しましたが、法案に完全に適合するものは何も見つかりませんでした。

希望の光を私に提供してくれるすべての人に事前に感謝します

4

1 に答える 1

0

Cookie は、ドメイン/サブドメイン/パスおよびポートに関連付けられています。ドメイン レベルで Cookie を設定することは可能です。したがって、webapp.mydomain.com と jasper.mydomain.com のようなものがあれば、それらが同じポート上にあると仮定しても問題ないかもしれません。

ただし、独自の SSO/認証フレームワークの実装には十分注意してくださいそれには多くの考えが必要です。現状では、提案された実装は、リプレイ、中間者、および XSRF 攻撃に対して脆弱です...他の脆弱性があるかもしれませんが、これらは頭に浮かぶ 3 つだけです...申し訳ありません! :D

于 2012-04-19T19:33:18.363 に答える