grails - Ignore WebSocket connection in Spring Security SavedRequest -
i have grails application spring-security-core plugin , atmosphere framework.
if log out page has opened websocket connection, spring security keeps url of websocket connection savedrequest.
debug savedrequest.httpsessionrequestcache - defaultsavedrequest added session: defaultsavedrequest[http://localhost:8080/formx/formx/update] debug savedrequest.httpsessionrequestcache - defaultsavedrequest added session: defaultsavedrequest[http://localhost:8080/formx/formx/notifications/?x-atmosphere-transport=close&x-atmosphere-tracking-id=b5d8fde4-d950-41fd-9b49-02e06799a36f&conversationid=988080042]
the first entry in log has correct value savedrequest, somehow overwritten atmosphere websocket connection.
how tell spring security not use atmosphere websocket connection savedrequest?
i guess can use atmosphere protocol specific header distinguish connections.
in java config can set requestmatcher - it's easy.
in websecurityconfigureradapter:
protected void configure(httpsecurity http) { httpsessionrequestcache cache = new httpsessionrequestcache(); //this 1 used default cache.setrequestmatcher(anyrequestmatcher.instance); //change request matcher, not match atmosphere requests http.requestcache().requestcache(cache); }
Comments
Post a Comment