1

現在、データベースの変更に関するリアルタイムの更新を取得するための REST API と Websocket ブローカー エンドポイントを含む Spring アプリケーションがあります。

基本認証で認証する組み込みの redis サーバーを使用して Spring Session プロジェクトに正常に移行し、セッション ID を後続のリクエストで x-auth-token ヘッダーとして使用できます。

私たちが抱えている問題は、Websocket を保護することです。Angular では、stomp.js / sockjs ライブラリのラッパー ディレクティブがありますが、Websocket アップグレード リクエストで x-auth-token ヘッダーを設定する方法がわかりません。

私たちは何か間違ったことをしていますか?この種のセキュリティスキームにアプローチするための推奨される方法は何ですか?

スタック:

  • トムキャット 7.0.57
  • 春のセキュリティ 4.0.0.RC2
  • スプリングセッション 1.0.0.RELEASE
  • 春 MVC 4.1.4
  • AngularJS 1.2.28
4

1 に答える 1

0

JS Websocket API では、最初のハンドシェイクとアップグレード リクエストで HTTP ヘッダーを設定できないようです。

適切なスキームは、CONNECT フレームで認証トークンを送信し、それに応じてサーバー側で処理することです。そのため、サーバー側でこれに適した実装が見つかるまで、ブラウザ Cookie セッションに移行しました。

于 2015-03-23T14:37:45.080 に答える