[心缘地方]同学录
首页 | 功能说明 | 站长通知 | 最近更新 | 编码查看转换 | 代码下载 | 常见问题及讨论 | 《深入解析ASP核心技术》 | 王小鸭自动发工资条VBA版
登录系统:用户名: 密码: 如果要讨论问题,请先注册。

[备忘]通过Filter增加自定义Header,解决IE的iframe的第三方cookie阻挡问题

上一篇:[备忘]cas的服务端,取得当前登录用户名的方法~~cas server get username
下一篇:[备忘]java的UrlRewriteFilter,挺强大的~~

添加日期:2013/12/13 16:09:18 快速返回   返回列表 阅读4030次
A.com的页面,使用iframe包含B.com的页面,后者写入的cookie,IE会忽略,

导致后者的系统,无法使用cookie,间接导致Session无法使用~~

解决办法,使用P3p Header,IE就会接收Cookie了~~

搜了半天,tomcat貌似无法通过配置实现自定义Header,

只能在web app中增加Filter来实现了。


package cn.xxx.yyy;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

public class HeaderFilter implements Filter {

    @Override
    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        // iframe引起的内部cookie丢失
        HttpServletResponse res = (HttpServletResponse) response;
        res.setHeader("P3P", "CP=CAO PSA OUR");
        if (chain != null) {
            chain.doFilter(request, response);
        }
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {

    }

}



然后在web.xml中增加


    <!-- ======================写P3P Header,解决IE的iframe的cookie问题======================= -->
    <filter>
        <filter-name>P3pHeaderFilter</filter-name>
        <filter-class>cn.xxx.yyy.HeaderFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>P3pHeaderFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>



即可。

我是把它放在了设置字符编码的filter后面,比较靠前吧。
 

评论 COMMENTS
没有评论 No Comments.

添加评论 Add new comment.
昵称 Name:
评论内容 Comment:
验证码(不区分大小写)
Validation Code:
(not case sensitive)
看不清?点这里换一张!(Change it here!)
 
评论由管理员查看后才能显示。the comment will be showed after it is checked by admin.
CopyRight © 心缘地方 2005-2999. All Rights Reserved