[RESOLVIDO] Pegar a URL que faz requisição antes do SpringSecurity?

Estou tentando pegar a URL que fez a requisição, mas sempre retorna meu contexto/j_spring_security_check.
Estava pensando um forma de pegar essa URL “antes” do Spring… pois não consegui usar vários http pattern no spring-security.xml
versão do SpringSecurity 3.1

public class UrlAuthenticationSuccessHandler implements AuthenticationSuccessHandler{

private RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();

@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
		Authentication authentication) throws IOException {
	handle(request, response, authentication);
	clearAuthenticationAttributes(request);
}	  

protected void handle(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
		throws IOException {
	
	String targetUrl = determineTargetUrl(authentication,request);		
	
	if (response.isCommitted()) {
		return;
	}

	redirectStrategy.sendRedirect(request, response, targetUrl);
}

protected String determineTargetUrl(Authentication authentication,HttpServletRequest request) {
		System.out.println("minha URLLL ----------" + request.getRequestURI()); Deveria exibir a pagina de login que estou: http://localhost:8080/myApp/paginas/balcao/balcao.xhtml
	Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
	for (GrantedAuthority grantedAuthority : authorities) {
		if (grantedAuthority.getAuthority().equals("ROLE_USUARIO")) {
			return "/paginas/balcao/balcao.xhtml?faces-redirect=true";

	}
	return "/paginas/main/principal.xhtml";
}

protected void clearAuthenticationAttributes(HttpServletRequest request) {
	HttpSession session = request.getSession(false);
	if (session == null) {
		return;
	}
	session.removeAttribute(WebAttributes.AUTHENTICATION_EXCEPTION);
}

public void setRedirectStrategy(RedirectStrategy redirectStrategy) {
	this.redirectStrategy = redirectStrategy;
}

protected RedirectStrategy getRedirectStrategy() {
	return redirectStrategy;
}

}

Eu pretendo adicionar outra comparação: Se url = balcao e perfil = usuario -> redirecione para uma pagina especifica…

voce vai ter que criar um Filter, e registrar ele no spring security

@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
	httpSecurity
			.cors()
			.and()
			.csrf().disable()
			.authorizeRequests().antMatchers("/authenticate").permitAll()
			.anyRequest().authenticated()
			.and()
			.exceptionHandling().authenticationEntryPoint(jwtAuthenticationEntryPoint)
			.and()
			.sessionManagement()
			.sessionCreationPolicy(SessionCreationPolicy.STATELESS);
	httpSecurity.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);
}

e aqui eh a classe que pega o token jwt, que voce vai adaptar para sua necessidade

@Component
public class JwtRequestFilter extends OncePerRequestFilter {

	@Autowired
	private JwtUserDetailsService jwtUserDetailsService;
	@Autowired
	private JwtTokenUtil jwtTokenUtil;

	@Override
	protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain)
			throws ServletException, IOException {

		final String requestTokenHeader = request.getHeader("Authorization");
		String username = null;
		String jwtToken = null;
		if (requestTokenHeader != null && requestTokenHeader.startsWith("Bearer ")) {
			jwtToken = requestTokenHeader.substring(7);
			try {
				username = jwtTokenUtil.getUsernameFromToken(jwtToken);
			} catch (IllegalArgumentException e) {
				System.out.println("Unable to get JWT Token");
			} catch (ExpiredJwtException e) {
				System.out.println("JWT Token has expired");
			}
		} else {
			logger.warn("JWT Token does not begin with Bearer String");
		}
		if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {
			UserDetails userDetails = this.jwtUserDetailsService.loadUserByUsername(username);
			if (jwtTokenUtil.validateToken(jwtToken, userDetails)) {
				UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken = new UsernamePasswordAuthenticationToken(
						userDetails, null, userDetails.getAuthorities());
				usernamePasswordAuthenticationToken
						.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
				SecurityContextHolder.getContext().setAuthentication(usernamePasswordAuthenticationToken);
			}
		}
		chain.doFilter(request, response);
	}
}

Olá thimor, tinha “deixado de lado” mas consegui resolver usando 2
<http pattern="/paginas/balcao/**" auto-config="false" use-expressions="true"> se sucesso redireciono para uma pagina especifica.