Hello, I am using the StripesStuff J2EESecurityManager and the @RolesAllowed annotation.
When a user who fails the roles test hits a restricted page, our security manager class intercepts the call, gets the called URL from our ActionBeanContext class and stores it in the FlashScope, then returns a ForwardResolution to our Login page. This process works great, except when we intercept a clean URL. In that case, when our custom ActionBeanContext class computes the last URL, it ends up including the clean-URL arguments as request parameters, so what used to be: /api/user/1345/document/1235 becomes: /api/user/14/document/35?user=14&document=35 which is functionally correct, but not really attractive. Since some of the pages are single page apps with anchor tags, I'd really like to keep the URLs clean. It seems that by the time the SecurityManager has intercepted the call, the clean url parameters have been extracted and placed into the request parameters. Is there a way for us to either intercept the call before the clean url parameters are added to the request, or alternatively is there a way to differentiate between clean url parameters and regular parameters? Our ActionBeanContext has a .getLastUrl() function that does something like this: StringBuilder sb = new StringBuilder(); String uri = (String) req.getAttribute("javax.servlet.forward.request_uri"); sb.append(uri); sb.append('?'); Map<String, String[]> map = new HashMap<String, String[]>(req.getParameterMap()); // Append the parameters to the URL for (String key : map.keySet()) { String[] values = map.get(key); for (String value : values) { sb.append(key).append('=').append(value).append('&'); } } // Remove the last '&' sb.deleteCharAt(sb.length() - 1); return sb.toString(); ------------------------------------------------------------------------------ This SF.net email is sponsored by Windows: Build for Windows Store. http://p.sf.net/sfu/windows-dev2dev _______________________________________________ Stripes-users mailing list Stripes-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-users