Return HTTP Error 401 Code & Skip Filter Chains

后端 未结 4 810
孤街浪徒
孤街浪徒 2020-12-09 15:49

Using a custom Spring Security filter, I\'d like to return an HTTP 401 error code if the HTTP Header doesn\'t contain a particular key-value pair.

Example:



        
4条回答
  •  难免孤独
    2020-12-09 16:05

    I suggest this solution below.

    public void doFilter(ServletRequest req, ServletResponse res,
                             FilterChain chain) throws IOException, ServletException {
    
            HttpServletRequest request = (HttpServletRequest) req;
            final String val = request.getHeader(FOO_TOKEN)
    
            if (val == null || !val.equals("FOO")) {
                ((HttpServletResponse) response).sendError(HttpServletResponse.SC_UNAUTHORIZED, "The token is not valid.");
            } else {
                chain.doFilter(req, res);
            }
        }
    

提交回复
热议问题