我有一个过滤器和登录 Servlet。我如何检查 - 授权用户与否?如果没有授权 - 将他重定向到 Login Servlet。
谢谢。
最佳答案
这样做:
当用户登录时,在 HttpSession 中为该用户设置
User
对象。这样,httpRequest.getSession().setAttribute("LOGGED_USER", userObject)
现在,每次您点击过滤器/安全过滤器时。您要做的第一件事是检查此属性。
如果该属性不存在,则将请求重定向/转发到登录 servlet。
伪代码如下所示:
//in your login servlet, on successful login
request.getSession().setAttribute("LOGGED_USER", userObject);
//in your security filter
if(request.getSession().getAttribute("LOGGED_USER") == null){
//optionally, you may like to check if that attribute has a valid userId as well
RequestDispatcher rd = request.getRequestDispatcher("relative/path/to/login/servlet")
rd.forward(request, response);
return;
}
编辑 1: 看这个 http://download.oracle.com/javaee/5/tutorial/doc/bncbx.html
关于java - 如何检查授权过滤器的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4985133/