【发布时间】:2021-03-16 07:31:37
【问题描述】:
我希望能够处理 401 并以 Angular 8 显示特定页面,但目前仅显示 index.html 文件
注意事项
- Angular 是 Spring Boot 的视图,因此它不是一个单独的应用程序
- 我没有使用 Spring Security。我只是在春天使用过滤器来确定是否要授权
这是我的过滤器。
@Component
public class CustomSessionFilter extends OncePerRequestFilter {
protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) httpServletRequest;
if (!req.getRequestURI().startsWith("/sample/path")){
HttpServletResponse httpResponse = (HttpServletResponse) httpServletResponse;
httpResponse.setContentType("application/json");
httpResponse.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized");
return;
}
}
也许与我有一个扩展 ErrorController 的控制器有关
@CrossOrigin
@RestController
public class IndexController implements ErrorController {
private static final String PATH = "/error";
@RequestMapping(value = PATH)
public ModelAndView saveLeadQuery() {
return new ModelAndView("forward:/");
}
@Override
public String getErrorPath() {
return PATH;
}
}
编辑:我没有使用 Spring Security,因为我不需要登录我只需要通过特定路径并进行一些身份验证.. 并且该应用程序没有用户
【问题讨论】:
标签: java angular spring spring-boot