![](/img/trans.png)
[英]How implement the login and logout functionality by using play 1.2.7 java framework
[英]how to implement production ready login logout functionality in servlet jsp
以下是用例...
**
**
我在互联网上进行搜索,但最终得到了简单的登录示例或tomcat安全角色等。没有人提供实际的解决方案。 请不要说这个问题与本论坛无关。
谢谢
发生这种情况是因为浏览器缓存了正在加载的网页,您可以通过使用过滤器并告诉浏览器不要像下面那样缓存网页来阻止它。 过滤器的doFilter方法
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
HttpSession session = request.getSession(false);//don't create if session doesn't exist.
if (session==null || session.getAttribute("username") == null) {
RequestDispatcher rd=request.getRequestDispatcher("login");//dispatch it to your desired page i.e login page
rd.forward(request, response);
} else {
chain.doFilter(req, res);
}
}
您应在web.xml内配置此过滤器,或使用要过滤其url模式的注释来配置。有关更多详细信息,请参阅文档。
如果您使用的是Tomcat,那么“ Tomcat标准领域实现”是一个不错的起点。
重要的是要记住,即使您只有一个角色,普通的Java EE安全性也可以使用角色对用户进行身份验证和授权 。
完成此操作后,您可以通过调用Servlet来实现注销,该Servlet调用HttpServletRequest.logout() ,然后使HttpSession无效:
request.logout();
request.getSession().invalidate();
接着:
response.sendRedirect("some protected page");
这应该可以解决您的后退按钮问题,并返回登录页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.