1
A
回答
4
这样做:
当用户登录,设置
User
对象在HttpSession中该用户。这样,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
2
在过滤器: IF UserObjectInSession存在=>用户登录 否则重定向到servlet
在servlet的: 如果验证()是正确=>把UserObjectInSession会话
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest) request;
HttpServletResponse httpRes = (HttpServletResponse) response;
HttpSession session = httpReq.getSession();
User currentUser = (User)session.getAttribute("userInSession");
if (currentUser == null) {
httpRes.sendRedirect("...") //redirect to LoginServlet
} else {
chain.doFilter(request, response);
}
}
相关问题
- 1. 使用EWS检查Exchange用户授权
- 2. 如何检查用户是否被授权使用Pinterest IOS SDK?
- 3. 如何检查用户授权时间和用户ID :)
- 4. 如何使用Ninject将服务注入授权过滤器?
- 5. RESTlet授权过滤器
- 6. WebApi授权过滤器
- 7. django tastypie基于授权用户的REST查询过滤
- 8. 检查用户是否被授权
- 9. PHP CURL授权。如何检查授权ttl是否已过期?
- 10. 如何检查用户是否授权在客户端使用JQuery?
- 11. 如何检查用户的DB2 SYSADM或SYSCTRL授权
- 12. 检查授权
- 13. 的OutputCache和授权在MVC3过滤器
- 14. WebAPI的授权操作过滤器
- 15. 如何检查用户是否被授权内部操作
- 16. 如何检查用户是否已授予publish_actions权限
- 17. 如何检查用户是否授予Facebook访问权限?
- 18. DomainClass.where查询,授权和过滤
- 19. 虽然用户被授权,但正在检查用户!= null
- 20. 使用参数asp.net mvc创建授权过滤器mvc
- 21. 如何在Asp.Net核心自定义授权过滤器中返回未授权
- 22. 授权过滤器vs动作过滤器
- 23. iOS OAuth 1.0 requestToken用户授权:如何检测UIWebView何时完成授权?
- 24. ASP.NET Core Identity 2.0授权过滤器
- 25. 为CasAuthenticationFilter设置预授权过滤器
- 26. 如何使过滤器来检查是否有人用@标记了用户?
- 27. 如何在其他控制器中使用授权用户名
- 28. PHP-SDK:检查用户是否授权我的应用程序
- 29. ASP.NET MVC授权过滤
- 30. LinqToTwitter检查授权
@Saska更新答案 – Nishant 2011-02-13 17:27:38