127.0.0.1:8080/index.jsp中, cookie里含有登录信息. 页面中有:
`<iframe src="map.jsp"></iframe>`
但是这个获取map.jsp的请求有时带cookie有时不带, 导致因为没有登录信息跳转登录页.
请问如何强制带上cookie?
尝试过网上说的添加`response.setHeader("P3P","CP=CAO PSA OUR IDC DSP COR ADM DEVi TAIi PSD IVAi IVDi CONi HIS IND CNT");`, 但似乎没用
有没有起作用打断点看啊,特别是在shiro或spring security权限认证框架下,以下代码若加载filter里面,则该filter必须在认证filter之前(例如在authc filter之前)。原因你懂的,你都准备执行认证filter了,你的加的那部分代码都还没执行,肯定不行啊!!!
打断点,看filterChain链执行属性
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain) throws IOException, ServletException {
response.setHeader("P3P","CP=CAO PSA OUR IDC DSP COR ADM DEVi TAIi PSD IVAi IVDi CONi HIS IND CNT");
网页看页面都有了,还是不行
可查看了filter的加载顺序,确定顺序没问题后,在filter里查询cookie是否存在
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
System.out.println(req.getCookies());
@Bean
public FilterRegistrationBean corsFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new CorsFilter());
filterRegistrationBean.setEnabled(true);
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.setOrder(1);
return filterRegistrationBean;
}
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new DelegatingFilterProxy("shiroFilter"));
filterRegistrationBean.addInitParameter("targetFilterLifecycle", "true");
filterRegistrationBean.setEnabled(true);
filterRegistrationBean.addUrlPatterns("/*");
filterRegistrationBean.setOrder(10);
return filterRegistrationBean;
}