Open Kilda Java Documentation
MyAccessDeniedHandler.java
Go to the documentation of this file.
1 package org.openkilda.handler.error;
2 
3 import org.slf4j.Logger;
4 import org.slf4j.LoggerFactory;
5 
6 import org.springframework.security.access.AccessDeniedException;
7 import org.springframework.security.core.Authentication;
8 import org.springframework.security.core.context.SecurityContextHolder;
9 import org.springframework.security.web.access.AccessDeniedHandler;
10 import org.springframework.stereotype.Component;
11 
12 import java.io.IOException;
13 
14 import javax.servlet.ServletException;
15 import javax.servlet.http.HttpServletRequest;
16 import javax.servlet.http.HttpServletResponse;
17 
19 
23 // handle 403 page
24 @Component
25 public class MyAccessDeniedHandler implements AccessDeniedHandler {
26 
28  private static Logger logger = LoggerFactory.getLogger(MyAccessDeniedHandler.class);
29 
30  /*
31  * (non-Javadoc)
32  *
33  * @see org.springframework.security.web.access.AccessDeniedHandler#handle(javax
34  * .servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse,
35  * org.springframework.security.access.AccessDeniedException)
36  */
37  @Override
38  public void handle(final HttpServletRequest httpServletRequest,
39  final HttpServletResponse httpServletResponse, final AccessDeniedException e) throws IOException,
40  ServletException {
41 
42  Authentication auth = SecurityContextHolder.getContext().getAuthentication();
43 
44  if (auth != null) {
45  logger.error("User '" + auth.getName() + "' attempted to access the protected URL: "
46  + httpServletRequest.getRequestURI());
47  }
48 
49  httpServletResponse.sendRedirect(httpServletRequest.getContextPath()
51  }
52 }
void handle(final HttpServletRequest httpServletRequest, final HttpServletResponse httpServletResponse, final AccessDeniedException e)