用户注销时跳出iframe框架的问题
2013-10-12 12:14
281 查看
如下可以解决用户注销时跳出iframe框架的问题
过滤器中的代码:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res= (HttpServletResponse) response;
String currentURI = req.getRequestURI();
String targerURI = currentURI.substring(currentURI.indexOf("/"), currentURI.length());
Cookie[] cook = req.getCookies();
// 获取COOKIE时得先判断是否为空,然后再去获取相关值
String username = "";
if (cook.length != 0) {
for (int i = 0; i < cook.length; i++) {
if (cook[i].getName().equalsIgnoreCase("adminUser")) {
username = cook[i].getValue().toString();
}
}
}
// 判断如果没有取到用户信息,就跳转到登陆页面
if ((targerURI.endsWith("loginIndex.do")) || targerURI.endsWith("valiCode.do")) {
chain.doFilter(request, response);
} else if (username == null || "".equals(username)) {
// 跳转到登陆页面window
res.getWriter().print("<html><script type='text/javascript'> top.location.href='/cloudsync-admin/'</script></html>");
res.setContentType("text/html");
} else {
// 已经登陆,继续此次请求
chain.doFilter(request, response);
}
}
注意: 在res.getWriter().print("<html><script type='text/javascript'> top.location.href='/cloudsync-admin/'</script></html>");
后面一定要加入,此行代码:res.setContentType("text/html");
否则,在火狐中不登陆直接访问登陆后的某个页面的话, res.getWriter().print()中的html及js代码会被浏览器转义,并且直接打印出来
过滤器中的代码:
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res= (HttpServletResponse) response;
String currentURI = req.getRequestURI();
String targerURI = currentURI.substring(currentURI.indexOf("/"), currentURI.length());
Cookie[] cook = req.getCookies();
// 获取COOKIE时得先判断是否为空,然后再去获取相关值
String username = "";
if (cook.length != 0) {
for (int i = 0; i < cook.length; i++) {
if (cook[i].getName().equalsIgnoreCase("adminUser")) {
username = cook[i].getValue().toString();
}
}
}
// 判断如果没有取到用户信息,就跳转到登陆页面
if ((targerURI.endsWith("loginIndex.do")) || targerURI.endsWith("valiCode.do")) {
chain.doFilter(request, response);
} else if (username == null || "".equals(username)) {
// 跳转到登陆页面window
res.getWriter().print("<html><script type='text/javascript'> top.location.href='/cloudsync-admin/'</script></html>");
res.setContentType("text/html");
} else {
// 已经登陆,继续此次请求
chain.doFilter(request, response);
}
}
注意: 在res.getWriter().print("<html><script type='text/javascript'> top.location.href='/cloudsync-admin/'</script></html>");
后面一定要加入,此行代码:res.setContentType("text/html");
否则,在火狐中不登陆直接访问登陆后的某个页面的话, res.getWriter().print()中的html及js代码会被浏览器转义,并且直接打印出来
相关文章推荐
- Jsp中解决session过期跳转到登陆页面并跳出iframe框架的方法
- iframe框架套iframe页面滚动条的问题,一切没问题,就差在FF个IE7上测试了~
- 防止多人使用统一用户上网和用户非正常退出注销问题-JSP教程,资料/其它
- 解决上左右页面框架中iframe的引起的滚动条问题
- java web session过期 跳转登录页面,怎么跳出iframe的问题
- 从windows8的微软扫雷看创新——跳出现有的框架,换个角度看问题
- 3. 从windows8的微软扫雷看创新——跳出现有的框架,换个角度看问题
- 使用了框架iframe的页面如何跳出框架
- java超时跳出iframe框架
- 框架页面用户注销
- Java-session过期后,拦截器拦截后页面跳不出iframe框架问题
- 使用iframe进行框架嵌套的问题
- js跳出iframe框架
- Session过期,如何跳出iframe框架页的问题
- session过期iframe框架嵌套问题
- 用户登录自动注销问题
- session过期跳转到登陆页面并跳出iframe框架的最简单方法
- Session过期,如何跳出iframe框架页的问题
- easyui弹出层在最顶层显示跳出iframe框架通用javascript代码
- [置顶]解决session过期跳转到登陆页面并跳出iframe框架