1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.shiro.samples;
20
21 import org.springframework.beans.factory.annotation.Autowired;
22 import org.springframework.boot.autoconfigure.web.ErrorAttributes;
23 import org.springframework.boot.autoconfigure.web.ErrorController;
24 import org.springframework.stereotype.Controller;
25 import org.springframework.ui.Model;
26 import org.springframework.web.bind.annotation.RequestMapping;
27 import org.springframework.web.context.request.ServletRequestAttributes;
28
29 import javax.servlet.http.HttpServletRequest;
30 import java.util.Map;
31
32
33
34 @Controller
35 public class RestrictedErrorController implements ErrorController {
36 private static final String ERROR_PATH = "/error";
37
38 @Autowired
39 private ErrorAttributes errorAttributes;
40
41 @Override
42 public String getErrorPath() {
43 return ERROR_PATH;
44 }
45
46 @RequestMapping(ERROR_PATH)
47 String error(HttpServletRequest request, Model model) {
48 Map<String, Object> errorMap = errorAttributes.getErrorAttributes(new ServletRequestAttributes(request), false);
49 model.addAttribute("errors", errorMap);
50 return "error";
51 }
52 }