5

Tomcat7 で Spring MVC を使用して webapp を構築しており、ユーザー認証に Spring Security を使用しています。標準コントローラーとは別に、接続を認証する必要がある Websocket サーブレットもあります。

フローは次のとおりです。クライアントはサーバーに接続し、ログイン ページにリダイレクトされます。認証が成功した後、受信したビューはソケットへの接続を試みます。認証されたユーザーのみが websocket 接続を開始できることを確認する必要があります。

いくつかの調査の結果、websocket 接続を開始する Http Upgrade 要求を認証するだけで十分であることがわかりました。しかし、私が使用しているテクノロジーでそれを行う方法については困惑しています。ソケットへの接続試行が 302 応答で終了するため、websocket を指している URL の単純なインターセプトは機能しないようです。そのため、認証が失敗し、ログイン ページにリダイレクトされると思います。問題の解決に少しでもお役に立てれば幸いです。

ありがとう

4

1 に答える 1

0

Spring security 4.x にはネイティブの websocket サポートがあり、HTTP 経由で行った認証とうまく統合できます。

ここでドキュメントを確認できます: http://docs.spring.io/autorepo/docs/spring-security/4.0.x/reference/html/websocket.html

于 2015-06-17T16:02:07.320 に答える