|  | @@ -93,15 +93,15 @@ public class X509ProcessingFilter implements Filter, InitializingBean {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          logger.debug("Checking secure context token: " + ctx.getAuthentication());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(ctx.getAuthentication() == null) {
 | 
	
		
			
				|  |  | +        if (ctx.getAuthentication() == null) {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              Authentication authResult = null;
 | 
	
		
			
				|  |  |              X509Certificate clientCertificate = extractClientCertificate(httpRequest);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              try {
 | 
	
		
			
				|  |  |                  X509AuthenticationToken authRequest = new X509AuthenticationToken(clientCertificate);
 | 
	
		
			
				|  |  | -                // authRequest.setDetails(new WebAuthenticationDetails(request));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +                authRequest.setDetails(new WebAuthenticationDetails(httpRequest));
 | 
	
		
			
				|  |  |                  authResult = authenticationManager.authenticate(authRequest);
 | 
	
		
			
				|  |  |                  successfulAuthentication(httpRequest, httpResponse, authResult);
 | 
	
		
			
				|  |  |              } catch (AuthenticationException failed) {
 | 
	
	
		
			
				|  | @@ -114,12 +114,13 @@ public class X509ProcessingFilter implements Filter, InitializingBean {
 | 
	
		
			
				|  |  |      private X509Certificate extractClientCertificate(HttpServletRequest request) {
 | 
	
		
			
				|  |  |          X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(certs != null && certs.length > 0) {
 | 
	
		
			
				|  |  | +        if (certs != null && certs.length > 0) {
 | 
	
		
			
				|  |  |              return certs[0];
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        if(logger.isDebugEnabled())
 | 
	
		
			
				|  |  | -            logger.debug("No client certificate found in request, authentication will fail.");
 | 
	
		
			
				|  |  | +        if (logger.isDebugEnabled()) {
 | 
	
		
			
				|  |  | +            logger.debug("No client certificate found in request.");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          return null;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -128,8 +129,7 @@ public class X509ProcessingFilter implements Filter, InitializingBean {
 | 
	
		
			
				|  |  |       * Puts the <code>Authentication</code> instance returned by the authentication manager into
 | 
	
		
			
				|  |  |       * the secure context.
 | 
	
		
			
				|  |  |       */
 | 
	
		
			
				|  |  | -    protected void successfulAuthentication(HttpServletRequest request,
 | 
	
		
			
				|  |  | -        HttpServletResponse response, Authentication authResult)
 | 
	
		
			
				|  |  | +    protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, Authentication authResult)
 | 
	
		
			
				|  |  |          throws IOException {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          if (logger.isDebugEnabled()) {
 | 
	
	
		
			
				|  | @@ -156,11 +156,8 @@ public class X509ProcessingFilter implements Filter, InitializingBean {
 | 
	
		
			
				|  |  |          request.getSession().setAttribute(AbstractProcessingFilter.ACEGI_SECURITY_LAST_EXCEPTION_KEY, failed);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      public void init(FilterConfig filterConfig) throws ServletException { }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      public void destroy() { }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  }
 |