Your FilterInvocationDefinitionSource implementation is responsible for returning the configuration attributes applicable to any web request being handled by FilterSecurityInterceptor.
The base implementations use the FilterInvocation class' getRequestUrl() method for the comparison. This method looks as follows:
Code:
public String getRequestUrl() {
String pathInfo = getHttpRequest().getPathInfo();
String queryString = getHttpRequest().getQueryString();
return getHttpRequest().getServletPath()
+ ((pathInfo == null) ? "" : pathInfo)
+ ((queryString == null) ? "" : ("?" + queryString));
}
As such your GET requests will contain the query string. Your POST requests will not, so I wouldn't look to this approach as a solution.
I mentioned the interface as you can write your own FilterInvocationDefinitionSource which iterates POST parameters and considers these in the request. Alternatively, it sounds like you're trying to achieve a little too much with just web request security. Would it be better using the MethodSecurityInterceptor, and/or ACL security for your use case? If you describe your use case I might be able to offer more specific suggestions.