1
我在我的Web應用程序中只能由管理員訪問的頁面。我寫過濾器,但我不明白如果用戶不是管理員,如何從過濾器返回HTTP錯誤代碼(403)。如何從servlet過濾器返回HTTP錯誤代碼?
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錯誤代碼。
我沒有看到「不重定向」部分。如果我想使用有趣的設計定製403頁面,該怎麼辦?我需要對狀態做出迴應,並且能夠通過頁面迴應這種狀態? – Artmal
我已經更新了答案,以403頁的有趣設計來澄清情況 –