我在我的Web应用程序中有一些只有管理员才能访问的页面,我编写了过滤器,但如果用户不是管理员,我不知道如何从过滤器中返回HTTP错误代码(403)。
public class AdminFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
String username = servletRequest.getParameter("username");
String password = servletRequest.getParameter("password");
UserDao userDaoImpl = new UserDaoImpl();
if(userDaoImpl.findByUsername(username).getPassword().equals(password)) {
filterChain.doFilter(servletRequest, servletResponse);
} else {
//respond with 403
}
}
}
我知道我可以重定向到我的自定义403页面,但我想知道如何返回HTTP错误代码。