我有一个带有 spring-security-core 插件和Atmosphere框架的 Grails 应用程序。
如果我从已打开 WebSocket 连接的页面注销,则 Spring Security 会将 WebSocket 连接的 URL 保留为 SavedRequest。
DEBUG savedrequest.HttpSessionRequestCache - DefaultSavedRequest added to Session: DefaultSavedRequest[http://localhost:8080/formx/formX/update]
DEBUG savedrequest.HttpSessionRequestCache - DefaultSavedRequest added to Session: DefaultSavedRequest[http://localhost:8080/formx/formX/notifications/?X-Atmosphere-Transport=close&X-Atmosphere-tracking-id=b5d8fde4-d950-41fd-9b49-02e06799a36f&conversationId=988080042]
日志中的第一个条目具有 SavedRequest 的正确值,但不知何故,它被 Atmosphere WebSocket 连接覆盖。
如何告诉 Spring Security 不要将 Atmosphere WebSocket 连接用作 SavedRequest?
我想我可以使用一些Atmosphere Protocol Specific Header来区分连接。