authorization 传 就跨域_headers中添加允许token,客户端跨域请求问题
定义了一个MyCrossOriginFilter.class,并在Access-Control-Allow-Headers 额外添加了允许"token",客户端ajax请求带有token时有个别接口不支持跨域了,请求不带token就支持跨域。什么原因呢?
另外,两个不同的Control都定义有相同的@At("/campaign/list") url,会影响跨域请求么?
public class MyCrossOriginFilter implements ActionFilter {
private static final Log log = Logs.get();
protected String origin;
protected String methods;
protected String headers;
protected String credentials;
public MyCrossOriginFilter() {
this("*", "GET, POST, PUT, DELETE, OPTIONS, PATCH", "Origin, Content-Type, Accept, Authorization, X-Requested-With,token", "true");
}
public MyCrossOriginFilter(String origin, String methods, String headers, String credentials) {
this.origin = origin;
this.methods = methods;
this.headers = headers;
this.credentials = credentials;
}
public View match(ActionContext ac) {
HttpServletResponse resp = ac.getResponse();
if (!Strings.isBlank(this.origin)) {
resp.setHeader("Access-Control-Allow-Origin", this.origin);
}
if (!Strings.isBlank(this.methods)) {
resp.setHeader("Access-Control-Allow-Methods", this.methods);
}
if (!Strings.isBlank(this.headers)) {
resp.setHeader("Access-Control-Allow-Headers", this.headers);
}
if (!Strings.isBlank(this.credentials)) {
resp.setHeader("Access-Control-Allow-Credentials", this.credentials);
}
if ("OPTIONS".equals(ac.getRequest().getMethod())) {
if (log.isDebugEnabled()) {
log.debugf("Feedback -- [%s] [%s] [%s] [%s]", new Object[]{this.origin, this.methods, this.headers, this.credentials});
}
return new VoidView();
}
return null;
}
}
@IocBean(name = "adsHome")
@Filters({ @By(type = MyActionFilter.class, args = {""})})
@At("ads/home")
public class HomeControl extends BaseController {
@At("/campaign/list")
@Ok("json")
@Filters({@By(type = MyCrossOriginFilter.class)})
public ReturnObject campaignList() {
ReturnObject result = new ReturnObject();
return result;
}
}
@IocBean(name = "adsReport")
@Filters({@By(type = MyActionFilter.class, args = {""})})
@At("ads/report")
public class ReportControl extends BaseController {
/**
* 分页列表
*
* @param search
* @return
*/
@At("/campaign/list")
@Ok("json")
@Filters({@By(type = MyCrossOriginFilter.class), @By(type = MyActionFilter.class, args = "")})
public ReturnObject listCampaignList(@Param("..") CampaignReport search) {
ReturnObject ro = new ReturnObject();
return ro;
}
}
authorization 传 就跨域_headers中添加允许token,客户端跨域请求问题相关推荐
- 数据结构:试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来
题目 试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来 分析 Template < ...
- 在域控中添加office2013策略模板
最近在进行一个 Office 的测试,涉及 Office 的管理模板,之前的版本如 Office 2010,我们可以通过组策略编辑器(GPMC)直接导入管理模板,操作很方便.如下图所示: 但是如果要部 ...
- apache字体文件跨域_CDN中,字体文件的跨域问题和解决
@font-face是CSS3中的一个特性,可以把自己定义的Web字体嵌入到网页中,随着@font-face,越来越多的网页采用字体图标作为网页中的小图形. 比如Bootstrap就采用了Glyphi ...
- 微服务常见安全认证方案Session token cookie跨域
HTTP 基本认证 HTTP Basic Authentication(HTTP 基本认证)是 HTTP 1.0 提出的一种认证机制,这个想必大家都很熟悉了,我不再赘述.HTTP 基本认证的过程如下: ...
- SpringMVC视图及如何在域对象中共享数据
SpringMVC 回顾原生Servlet 获取请求参数 通过 Servlet API 获取 案例 通过控制器方法的形参获取请求参数 设置字符编码格式 CharacterEncodingFilter ...
- Python之向日志输出中添加上下文信息
除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...
- Exchange 2003 在多域环境中的部署
相信大多数Exchange管理员对单域环境中的部署已经非常熟悉,包括单域单台或者多台Exchange服务器的部署,网络中也有很多此类的教程.但是关于如何在多域环境中部署Exchange的文章非常少,在 ...
- 内网渗透(十三)之内网信息收集-收集域环境中的基本信息
系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...
- 驱动中添加参数进行调试和控制设备驱动
1.在加载驱动的时候向驱动传入参数: 1.1传入字符型参数 static char *name; module_param(name, charp, 0); MODULE_PARM_DESC(name ...
最新文章
- 某程序员对比美团和阿里的卷文化区别:美团重过程,死抠没用细节;阿里更自由,注重结果!...
- python中使用函数编程的意义_总结Python编程中函数的使用要点
- 轻量级UIImageView分类缓存 库 AsyncImageView 使用
- Android之jni编译报错comparsion between signed and unsigned integer expressions解决办法
- 放学默示录Ⅰ:来!抠奖 移动游戏策划案
- 【ZOJ - 4024】Peak(模拟,水题)
- Python heapq模块
- Python字符串函数说明(菜鸟教程里面的)
- python解决字符串替换问题
- 2020 CPU性能排行天梯图
- java jdk 文档下载_Java帮助文档 JDK全系列 官方中英下载地址
- Host is not allowed to connect to this MySQL server错误的解决办法
- 麦当劳将携手逾100所职业院校提升就业能力;百胜中国一季度开设315家新店 | 美通企业日报
- 计算机学硕编码,怎么区分学硕和专硕代码
- 通过新版阿里ACE认证,实验操作题你来解一下
- 线程的学习,和线程的相关概念及多线程的学习指引
- jetson nano poe_IEEE 802.3bt工业级大功率POE供电专题
- 移动web开发+前端框架bootstrap相关笔记(二)
- 基于51单片机的DAC0832波形发生器
- 计算机外存断电会丢失吗,外储存器断电后信息会丢失吗
热门文章
- Linux系统调用getuid的简单分析
- AIX 系统下做 rootvg
- 从卓越工程的角度看微软中国开发团队的成长 (一)
- 先留住人,再发展人和吸引人
- html语言漂移属性,设置层的漂移_html/css_WEB-ITnose
- java web 许令波_Java Web——Web概述
- ue4小白人骨骼定义_【Blender】用SkinModifier+骨骼顶点“灵活”快速创建雕刻需要用的基本人物模型...
- python如何下载安装tensorflow_TensorFlow下载与安装
- 如何在请求转发的时候对url解码_Java技术分享:Forward和Redirect这两种转发方式的区别...
- 如何添加时区 java_如何在Windows(非Java)应用程序中使用Java时区ID?